@font-face{font-family:"Nunito";src:url("/assets/fonts/nunito.woff") format("woff");font-weight:200 1000;font-style:normal;font-display:swap}
@font-face{font-family:"Pixelify Sans";src:url("/assets/fonts/pixelify-sans.woff") format("woff");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Permanent Marker";src:url("/assets/fonts/permanent-marker.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
.pv{
  --space:#03051a; --space-2:#070c2c; --glass:rgba(130,160,255,.06); --glass-2:rgba(150,180,255,.10);
  --edge:rgba(170,200,255,.2); --ink:#eef3ff; --muted:#a9b6dc; --orange:#ff9d4d; --peach:#7fdcff; 
  --sky:#79b2ff; --mint:#3ee08f; --red:#ff6b7a; --panel:#0e1540;
  --pixel:"Pixelify Sans","Courier New",monospace; --body:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:dark;
}
.pv *{box-sizing:border-box}
.pv [hidden]{display:none!important}
.pv canvas#stars{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.pv .wrap{position:relative;z-index:1;display:flex;flex-direction:column;flex:1;min-height:0;gap:14px;padding-block:14px;max-width:1400px;width:100%;margin:0 auto}
.pv .glass{background:linear-gradient(160deg,var(--glass-2),var(--glass));border:1px solid var(--edge);border-radius:20px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 12px 40px rgba(0,0,12,.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.pv button{font:inherit;color:inherit;cursor:pointer}
.pv button:disabled{opacity:.5;cursor:not-allowed}
.pv button:focus-visible,.pv input:focus-visible,.pv select:focus-visible,.pv textarea:focus-visible,.pv a:focus-visible{outline:2px solid var(--peach);outline-offset:2px}
.pv a{color:var(--sky)}
.pv input,.pv select,.pv textarea{font:inherit;color:var(--ink);background:rgba(220,232,255,.12);border:1px solid var(--edge);border-radius:12px;padding:10px 14px}
.pv select option{background:var(--panel)}
.pv .pix{image-rendering:pixelated;image-rendering:crisp-edges;flex:none;display:block}
.pv header.top{display:flex;align-items:center;gap:16px;padding:12px 18px;flex-wrap:wrap}
.pv .brand{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none;color:inherit}
.pv .brand .star{width:52px;height:52px}
.pv .brand h1{font-family:var(--pixel);font-weight:700;margin:0;font-size:clamp(1.4rem,3.4vw,2.4rem);line-height:1;letter-spacing:.01em;
  background:linear-gradient(180deg,#ffffff 10%,#9be7ff 55%,#3fb4ff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #0a2240)}
.pv .brand p{margin:4px 0 0;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pv .hright{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.pv .ibtn{width:44px;height:44px;border-radius:14px;border:1px solid var(--edge);background:var(--glass-2);display:grid;place-items:center;font-size:1.15rem;text-decoration:none;color:inherit;position:relative}
.pv .ibtn:hover{background:rgba(190,215,255,.24)}
.pv .ibtn .pip{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--orange);color:#2b1300;font-size:.68rem;font-weight:800;display:grid;place-items:center;padding:0 4px}
.pv .pill{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:14px;border:1px solid var(--edge);background:rgba(10,20,60,.35);
  font-family:var(--pixel);font-size:.85rem;line-height:1.1;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.pv .pill.coins{font-size:1rem;color:#ffd24a;text-transform:none}
.pv .dot{width:10px;height:10px;border-radius:50%;background:var(--mint);box-shadow:0 0 8px var(--mint);flex:none}
.pv .meav{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--sky));display:grid;place-items:center;font-size:1.4rem;border:2px solid rgba(255,255,255,.6)}
.pv .ptitle{font-family:var(--pixel);font-weight:700;text-transform:uppercase;font-size:1.25rem;line-height:1.05;margin:0;color:var(--peach);text-shadow:0 2px 0 #0a2240;display:flex;align-items:center;gap:10px}
.pv .ptitle .big{width:46px;height:46px}
.pv .ghost{background:rgba(190,215,255,.12);border:1px solid var(--edge);border-radius:10px;padding:6px 12px;font-size:.85rem;font-weight:700;text-decoration:none;color:inherit;display:inline-flex;align-items:center;gap:6px}
.pv .ghost:hover{background:rgba(190,215,255,.22)}
.pv .ghost.danger{border-color:rgba(255,107,122,.6);color:#ffc2c9}
.pv .ghost.danger:hover{background:rgba(255,107,122,.2)}
.pv .cta{padding:11px 18px;border-radius:14px;border:0;font-weight:800;font-size:1rem;color:#2b1300;background:linear-gradient(135deg,#ffb45c,var(--orange))}
.pv .cta.wide{width:100%}
.pv .badge{font-size:.78rem;font-weight:800;padding:3px 9px;border-radius:8px;background:rgba(255,157,77,.85);color:#2b1300;font-variant-numeric:tabular-nums}
.pv .badge.live{background:var(--orange);letter-spacing:.06em}
.pv .lv{font-size:.66rem;font-weight:800;padding:1px 6px;border-radius:6px;background:rgba(121,178,255,.35);border:1px solid rgba(121,178,255,.6);letter-spacing:.04em}
.pv .tag{font-size:.66rem;font-weight:800;padding:1px 6px;border-radius:6px;background:rgba(255,157,77,.35);border:1px solid rgba(255,157,77,.7);letter-spacing:.04em}
.pv .tag.mod{background:rgba(62,224,143,.25);border-color:rgba(62,224,143,.7)}
.pv .tag.admin{background:rgba(255,107,122,.28);border-color:rgba(255,107,122,.75)}
.pv .tag.bot{background:rgba(127,220,255,.2);border-color:rgba(127,220,255,.7);color:#bfefff}
.pv .overlay{position:fixed;inset:0;background:rgba(3,6,20,.7);display:grid;place-items:center;padding:16px;z-index:20;overflow:auto}
.pv .dlg{max-width:440px;width:100%;padding:24px;background:linear-gradient(160deg,#121b4a,#090f33)}
.pv .dlg h3{font-family:var(--pixel);font-size:1.8rem;margin:0 0 4px;color:var(--peach)}
.pv .dlg p{margin:0 0 14px;color:var(--muted)}
.pv .dlg label{display:block;font-size:.8rem;font-weight:800;color:var(--muted);margin:0 0 4px;letter-spacing:.04em}
.pv .dlg input,.pv .dlg textarea,.pv .dlg select{width:100%;margin-bottom:12px}
.pv .err{color:#ff9aa5;font-size:.88rem;min-height:1.2em;margin-bottom:8px}
.pv .toasts{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:8px;z-index:40;width:min(92vw,420px)}
.pv .toast{padding:12px 16px;border-radius:14px;background:#1d2a66;border:1px solid var(--edge);box-shadow:0 10px 30px rgba(0,0,0,.45);font-weight:700}
.pv .toast.bad{border-color:rgba(255,107,122,.7)}
.pv .empty{margin:auto;text-align:center;color:var(--muted);max-width:34ch;padding:20px}
.pv .empty b{display:block;font-family:var(--pixel);font-size:1.3rem;color:var(--peach);margin-bottom:6px}
@media (prefers-reduced-motion:no-preference){.pv .toast{animation:up .25s ease-out}
@keyframes up{from{transform:translateY(10px);opacity:0}}}
.pv .avimg{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.pv .av,.pv .meav{overflow:hidden}
.pv .uav .avimg,.pv .mav .avimg{width:30px;height:30px;border-radius:50%}
.pv .navav{display:inline-block;width:22px;height:22px;border-radius:50%;overflow:hidden;vertical-align:middle;margin-right:4px;font-size:1rem;line-height:22px;text-align:center}
.pv .vmark{display:inline-block;width:15px;height:15px;margin-left:3px;vertical-align:middle;flex:none;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}
.pv .rbadge{display:inline-block;width:16px;height:16px;margin-left:4px;vertical-align:middle;flex:none;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}
.pv .langsel{height:44px;border-radius:14px;padding:0 10px;font-weight:800;font-size:.85rem;background:var(--glass-2);cursor:pointer;max-width:170px}
.pv .langsel.small{height:34px;border-radius:10px;font-size:.8rem}
.pv .smi{display:inline-block;font-size:1.35em;line-height:1;vertical-align:-.18em;margin:0 1px;transform-origin:50% 70%}
@media (prefers-reduced-motion:no-preference){.pv .a-bounce{animation:sm-bounce 1.1s ease-in-out infinite}
.pv .a-shake{animation:sm-shake .5s ease-in-out infinite}
.pv .a-wink{animation:sm-wink 1.8s ease-in-out infinite}
.pv .a-tilt{animation:sm-tilt 1.6s ease-in-out infinite}
.pv .a-pulse,.pv .a-beat{animation:sm-pulse 1s ease-in-out infinite}
.pv .a-wiggle{animation:sm-wiggle .9s ease-in-out infinite}
.pv .a-pop{animation:sm-pop 1.3s ease-in-out infinite}
.pv .a-bob{animation:sm-bob 1.4s ease-in-out infinite}
.pv .a-float{animation:sm-float 2s ease-in-out infinite}
.pv .a-wobble{animation:sm-wobble 1.2s ease-in-out infinite}
.pv .a-nod{animation:sm-nod .9s ease-in-out infinite}
.pv .a-wave{animation:sm-wave 1s ease-in-out infinite;transform-origin:70% 80%}
.pv .a-flicker{animation:sm-flicker .7s steps(2) infinite}
.pv .a-spin{animation:sm-spin 2.4s linear infinite;transform-origin:50% 50%}
.pv .a-roll{animation:sm-roll 1.6s cubic-bezier(.5,0,.3,1) infinite;transform-origin:50% 50%}}
@keyframes sm-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes sm-shake{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}
@keyframes sm-wink{0%,80%,100%{transform:scaleY(1)}88%{transform:scaleY(.75) rotate(-8deg)}}
@keyframes sm-tilt{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}
@keyframes sm-pulse{0%,100%{transform:scale(1)}30%{transform:scale(1.25)}60%{transform:scale(.95)}}
@keyframes sm-wiggle{0%,100%{transform:rotate(0) scale(1)}25%{transform:rotate(-15deg) scale(1.1)}75%{transform:rotate(15deg) scale(1.1)}}
@keyframes sm-pop{0%,70%,100%{transform:scale(1)}80%{transform:scale(1.4)}90%{transform:scale(.9)}}
@keyframes sm-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}
@keyframes sm-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-5px) rotate(4deg)}}
@keyframes sm-wobble{0%,100%{transform:skewX(0)}30%{transform:skewX(-10deg)}60%{transform:skewX(8deg)}}
@keyframes sm-nod{0%,100%{transform:rotate(0)}50%{transform:rotate(-18deg) translateY(-2px)}}
@keyframes sm-wave{0%,100%{transform:rotate(0)}20%{transform:rotate(22deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(18deg)}}
@keyframes sm-flicker{0%{transform:scale(1,1);filter:brightness(1)}100%{transform:scale(.92,1.1);filter:brightness(1.3)}}
@keyframes sm-spin{to{transform:rotate(360deg)}}
@keyframes sm-roll{0%{transform:rotate(0)}40%,100%{transform:rotate(720deg)}}
.pv .smpop{position:fixed;z-index:30;display:grid;grid-template-columns:repeat(6,40px);gap:4px;padding:8px;border-radius:14px;background:#0f1640;border:1px solid var(--edge);box-shadow:0 8px 24px rgba(0,0,0,.45)}
.pv .smpop button{border:0;background:none;width:40px;height:40px;border-radius:9px;font-size:1.05rem;display:grid;place-items:center;cursor:pointer}
.pv .smpop button:hover,.pv .smpop button:focus-visible{background:rgba(190,215,255,.16)}
.pv .smpop .smi{font-size:1.5rem}
.pv .spraybox{display:flex;align-items:flex-end;gap:8px;margin-top:4px;max-width:520px}
.pv .spraycat{width:96px;height:96px;flex:none;user-select:none}
.pv .spraywall{display:block;flex:1;min-width:0;height:132px;border-radius:14px;background:transparent;box-shadow:none}
@media (max-width:520px){.pv .spraycat{width:68px;height:68px}
.pv .spraywall{height:112px}}
.pv .smi.a-img{font-size:inherit;margin:0 2px;vertical-align:middle}
.pv .smimg{display:block;height:56px;width:auto;user-select:none}
.pv .smi.a-img.big .smimg{height:112px}
.pv .smi.a-img{display:inline-block}
.pv .smpop:not(.soon){grid-template-columns:repeat(5,64px);max-width:calc(100vw - 16px)}
.pv .smpop:not(.soon) button{width:64px;height:64px}
.pv .smpop .smimg{height:56px}
.pv .smgrid .smimg{height:44px;display:inline-block;vertical-align:middle}
@media (max-width:380px){.pv .smpop:not(.soon){grid-template-columns:repeat(4,60px)}
.pv .smpop:not(.soon) button{width:60px;height:60px}
.pv .smpop .smimg{height:50px}}
.pv .smpop p{grid-column:1/-1;margin:2px 4px 0;font-size:.72rem;color:var(--muted)}
.pv .pbg{position:relative;isolation:isolate;overflow:hidden}
.pv .pbg::before{content:"";position:absolute;inset:-2px;z-index:-1;pointer-events:none;background-repeat:repeat}
.pv .pbg-stars::before{background:radial-gradient(1.5px 1.5px at 20px 30px,#fff,transparent),radial-gradient(1px 1px at 70px 80px,#cfe6ff,transparent),radial-gradient(2px 2px at 130px 20px,#fff,transparent),radial-gradient(1px 1px at 160px 110px,#ffe9a8,transparent),linear-gradient(160deg,#0a0f3a,#241a5e 60%,#0b1a4a);background-size:180px 140px,180px 140px,180px 140px,180px 140px,100% 100%;animation:pbg-drift 18s linear infinite}
.pv .pbg-ocean::before{background:repeating-radial-gradient(ellipse 60px 14px at 50% 100%,rgba(255,255,255,.22) 0 2px,transparent 3px 16px),linear-gradient(180deg,#0e5a9c,#0a3470 55%,#062047);background-size:120px 36px,100% 100%;animation:pbg-wave 6s linear infinite}
.pv .pbg-sunset::before{background:linear-gradient(200deg,#ff7a59,#ff4f8b,#8a4dff,#ffb347,#ff7a59);background-size:300% 300%;animation:pbg-shift 12s ease-in-out infinite}
.pv .pbg-aurora::before{background:radial-gradient(60% 50% at 20% 30%,rgba(80,255,190,.55),transparent 70%),radial-gradient(50% 60% at 80% 40%,rgba(140,110,255,.55),transparent 70%),radial-gradient(70% 40% at 50% 90%,rgba(60,200,255,.45),transparent 70%),#07122e;background-size:200% 200%;animation:pbg-aurora 10s ease-in-out infinite alternate}
.pv .pbg-neon::before{background:linear-gradient(rgba(255,70,220,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(60,230,255,.55) 1px,transparent 1px),linear-gradient(180deg,#12012e,#2b0650);background-size:26px 26px,26px 26px,100% 100%;animation:pbg-grid 3s linear infinite}
.pv .pbg-pixel::before{background:linear-gradient(90deg,transparent 0 8px,rgba(127,220,255,.8) 8px 14px,transparent 14px) 0 0/44px 30px,linear-gradient(90deg,transparent 0 28px,rgba(255,200,90,.8) 28px 34px,transparent 34px) 0 12px/44px 38px,linear-gradient(180deg,#101a45,#1d2a6b);animation:pbg-rain 2.2s steps(12) infinite}
.pv .pbg-lava::before{background:radial-gradient(40% 50% at 30% 60%,#ffb400,transparent 70%),radial-gradient(35% 45% at 75% 35%,#ff4d00,transparent 70%),radial-gradient(50% 40% at 55% 95%,#ff7a00,transparent 70%),#5a0c00;background-size:160% 160%;animation:pbg-aurora 7s ease-in-out infinite alternate}
.pv .pbg-confetti::before{background:radial-gradient(3px 3px at 10px 12px,#ff5c8a,transparent),radial-gradient(3px 3px at 40px 50px,#7fdcff,transparent),radial-gradient(3px 3px at 70px 20px,#ffd24a,transparent),radial-gradient(3px 3px at 90px 70px,#8dffb0,transparent),radial-gradient(2px 2px at 60px 85px,#c9a7ff,transparent),linear-gradient(160deg,#1c1450,#3b1a6b);background-size:100px 100px,100px 100px,100px 100px,100px 100px,100px 100px,100% 100%;animation:pbg-fall 4s linear infinite}
@keyframes pbg-drift{to{background-position:-180px 70px,-180px 70px,-180px 70px,-180px 70px,0 0}}
@keyframes pbg-wave{to{background-position:120px 0,0 0}}
@keyframes pbg-shift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes pbg-aurora{0%{background-position:0% 0%}100%{background-position:100% 100%}}
@keyframes pbg-grid{to{background-position:0 26px,0 26px,0 0}}
@keyframes pbg-rain{to{background-position:0 30px,0 50px,0 0}}
@keyframes pbg-fall{to{background-position:20px 100px,-10px 100px,15px 100px,-20px 100px,10px 100px,0 0}}
@media (prefers-reduced-motion:reduce){.pv .pbg::before{animation:none!important}}
.pv .smpop.soon{display:block;width:250px;padding:16px}
.pv .soonbox{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.pv .soonbox .soonico{font-size:1.8rem}
.pv .soonbox b{font-family:var(--pixel);font-size:1.25rem;color:var(--peach);letter-spacing:.04em}
.pv .soonbox span:last-child{font-size:.84rem;color:var(--muted)}
.pv button,.pv a,.pv summary,.pv label,.pv [role="button"],.pv [role="tab"]{touch-action:manipulation}
.pv .overlay>*{min-width:0;max-width:100%}
@media (max-width:760px){.pv input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),.pv select,.pv textarea{font-size:16px}
.pv .overlay{padding:8px}
.pv .dlg h3{font-size:1.55rem}}
@media (pointer:coarse){.pv .ghost,.pv .cta,.pv .ibtn,.pv .linkbtn{min-height:40px}
.pv .linkbtn{display:inline-flex;align-items:center;padding:0 2px}
.pv select{min-height:42px}}
.pv .gimg{width:1.3em;height:1.3em;object-fit:cover;border-radius:.28em;vertical-align:-.25em;display:inline-block}
.pv .gtile .gi .gimg{width:56px;height:56px;border-radius:14px}
.pv .achgame .agh .gi .gimg,.pv .bachlist .gi .gimg{width:100%;height:100%;border-radius:inherit}
.pv main{flex:1;min-height:0;display:grid;grid-template-columns:285px minmax(0,1fr) 260px;gap:14px}
.pv .col{display:flex;flex-direction:column;gap:12px;min-height:0}
.pv .tabs{display:none;gap:6px}
.pv .tabs button{flex:1;padding:9px;border-radius:12px;border:1px solid var(--edge);background:var(--glass);font-weight:800}
.pv .tabs button[aria-selected="true"]{background:linear-gradient(135deg,var(--orange),#ff7a52);border-color:transparent}
.pv .rooms{padding:16px;flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}
.pv .rlist{list-style:none;margin:0;padding:8px;border-radius:16px;background:rgba(10,20,60,.28);border:1px solid rgba(190,215,255,.18);overflow:auto;display:flex;flex-direction:column}
.pv .rlist li+li{border-top:1px solid rgba(190,215,255,.16)}
.pv .rlist li:has(button[aria-current="true"]),.pv .rlist li:has(button[aria-current="true"])+li{border-top-color:transparent}
.pv .rlist button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 10px;margin-block:2px;font-size:.98rem;border-radius:11px;border:1px solid transparent;background:none;text-align:left;font-weight:700}
.pv .rlist button:hover{background:rgba(190,215,255,.10)}
.pv .rlist button[aria-current="true"]{background:linear-gradient(135deg,rgba(255,157,77,.55),rgba(255,120,80,.35));border-color:var(--peach);box-shadow:0 0 18px rgba(255,157,77,.35)}
.pv .rico{width:30px;height:30px}
.pv .rname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv .voice{padding:14px 16px}
.pv .voice h3{margin:0 0 6px;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.pv .voice h3 .pix{width:22px;height:22px}
.pv .vrow{display:flex;align-items:center;gap:10px}
.pv .vrow b{display:block;font-size:.98rem}
.pv .vrow small{color:var(--muted)}
.pv .soon{margin-left:auto;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:8px;border:1px solid var(--edge);color:var(--peach);background:rgba(255,157,77,.12)}
.pv .mtools{display:flex;gap:2px;align-self:flex-end}
.pv .mtools button{width:32px;height:32px;border-radius:9px;border:0;background:none;font-size:1rem;display:grid;place-items:center}
.pv .mtools button:hover{background:rgba(190,215,255,.14)}
.pv .chat{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.pv .chead{padding:14px 18px;border-bottom:1px solid rgba(190,215,255,.16);display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.pv .chead h2{font-family:var(--pixel);font-weight:700;font-size:1.8rem;margin:0;line-height:1;color:var(--peach);text-shadow:0 2px 0 #0a2240}
.pv .chead p{margin:4px 0 0;color:var(--muted);font-size:.82rem}
.pv .chead .acts{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.pv .searchbar{padding:10px 16px;display:flex;gap:8px;border-bottom:1px solid rgba(190,215,255,.16)}
.pv .searchbar input{flex:1;min-width:0;padding:8px 12px}
.pv .log{flex:1;min-height:0;overflow:auto;padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.pv .m{display:flex;gap:12px;align-items:flex-start}
.pv .av{width:52px;height:52px;border-radius:14px;background:linear-gradient(160deg,rgba(121,178,255,.35),rgba(255,157,77,.25));border:1px solid var(--edge);display:grid;place-items:center;font-size:1.9rem;flex:none}
.pv .bub{position:relative;flex:1;min-width:0;padding:10px 14px;border-radius:16px;border:1px solid var(--edge);background:linear-gradient(135deg,rgba(225,235,255,.16),rgba(90,200,255,.08))}
.pv .bub::before{content:"";position:absolute;left:-7px;top:18px;width:12px;height:12px;border-left:1px solid var(--edge);border-bottom:1px solid var(--edge);transform:rotate(45deg);background:rgba(215,228,255,.17)}
.pv .m.mine .bub{background:linear-gradient(135deg,rgba(255,170,100,.28),rgba(255,120,90,.14))}
.pv .m.mentioned .bub{box-shadow:0 0 0 2px rgba(255,157,77,.6)}
.pv .mh{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:2px}
.pv .rbadge + .vmark{margin-left:2px}
.pv .nick{font-weight:800;font-size:1.02rem}
.pv .mh time{margin-left:auto;font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}
.pv .txt{line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}
.pv .txt .at{color:var(--sky);font-weight:800}
.pv .txt .at.me{color:var(--orange)}
.pv .m.act .txt{font-style:italic;color:var(--peach)}
.pv .mfoot{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:6px}
.pv .mfoot:not(:has(.rx)){margin-top:0}
.pv .rx{border:1px solid var(--edge);background:rgba(10,20,60,.35);border-radius:9px;padding:1px 8px;font-size:.8rem;font-weight:700}
.pv .rx.on{border-color:var(--orange);background:rgba(255,157,77,.3)}
.pv .mact{display:none;gap:4px;margin-left:auto}
.pv .mact button{border:1px solid var(--edge);background:rgba(10,20,60,.35);border-radius:9px;padding:1px 8px;font-size:.78rem;font-weight:700}
.pv .m:hover .mact,.pv .m:focus-within .mact{display:flex}
@media (hover:none){.pv .mact{display:flex}}
.pv .sys{align-self:center;font-size:.82rem;color:var(--muted);background:rgba(10,20,60,.4);border:1px solid rgba(190,215,255,.14);border-radius:99px;padding:4px 12px;text-align:center}
.pv .sys b{color:var(--peach)}
.pv .pop{position:fixed;z-index:30;display:flex;flex-wrap:wrap;gap:4px;padding:6px;border-radius:12px;background:#0f1640;border:1px solid var(--edge);box-shadow:0 8px 24px rgba(0,0,0,.4);max-width:260px}
.pv .pop button{border:0;background:none;font-size:1.2rem;padding:3px 5px;border-radius:7px}
.pv .pop button:hover{background:rgba(190,215,255,.15)}
.pv .inbar{padding:12px 14px 8px;display:flex;gap:8px;align-items:center}
.pv .round{width:44px;height:44px;border-radius:50%;border:0;display:grid;place-items:center;font-size:1.4rem;font-weight:800;flex:none;background:linear-gradient(135deg,#ffb45c,var(--orange));color:#2b1300;box-shadow:0 0 14px rgba(255,157,77,.4)}
.pv .inbar input{flex:1;min-width:0;padding:12px 16px;border-radius:16px}
.pv .inbar input::placeholder{color:var(--muted)}
.pv .sq{width:44px;height:44px;border-radius:14px;border:1px solid var(--edge);background:rgba(220,232,255,.14);display:grid;place-items:center;font-size:1.2rem;flex:none}
.pv .send{width:56px;height:44px;border-radius:14px;border:0;font-size:1.3rem;font-weight:800;flex:none;background:linear-gradient(135deg,var(--orange),var(--sky));color:#fff}
.pv .status{font-size:.74rem;color:var(--muted);text-align:center;padding:0 14px 10px}
.pv .status b{color:var(--peach);font-weight:800}
.pv .legalbar{display:flex;justify-content:center;align-items:center;gap:14px;padding:2px 14px 12px;font-size:1.02rem;font-weight:800}
.pv .legalbar a{color:var(--peach);text-decoration:underline;text-underline-offset:3px;padding:6px 4px;min-height:32px;display:inline-flex;align-items:center}
.pv .legalbar a:hover,.pv .legalbar a:focus-visible{color:var(--ink)}
.pv .legalbar span{color:var(--muted)}
.pv .status .offline{color:var(--red);font-weight:800}
.pv .online{padding:16px;flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}
.pv .ulist{list-style:none;margin:0;padding:0;overflow:auto;display:flex;flex-direction:column;gap:8px}
.pv .ulist li button{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:13px;border:1px solid rgba(190,215,255,.18);background:rgba(10,20,60,.25);text-align:left;font-weight:700;font-size:.9rem}
.pv .ulist li button:hover{background:rgba(190,215,255,.12)}
.pv .uav{position:relative;font-size:1.5rem;width:32px;text-align:center;flex:none}
.pv .uav .dot{position:absolute;right:-2px;bottom:0;width:9px;height:9px}
.pv .un{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv .ulist small{color:var(--muted);font-weight:700;white-space:nowrap}
.pv .event{padding:14px 16px}
.pv .event h3{margin:0 0 6px;color:var(--peach);font-family:var(--pixel);font-size:1rem;letter-spacing:.04em;text-transform:uppercase}
.pv .event p{margin:0;font-size:.9rem;line-height:1.45;white-space:pre-line}
.pv .auth{max-width:440px;width:100%;margin:auto;padding:26px}
.pv .auth .seg{display:flex;gap:6px;margin-bottom:16px}
.pv .auth .seg button{flex:1;padding:9px;border-radius:12px;border:1px solid var(--edge);background:var(--glass);font-weight:800}
.pv .auth .seg button[aria-selected="true"]{background:linear-gradient(135deg,var(--orange),#ff7a52);border-color:transparent;color:#2b1300}
.pv .avs{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:12px}
.pv .avs button{aspect-ratio:1;max-width:100%;border-radius:12px;border:2px solid transparent;background:rgba(220,232,255,.10);font-size:1.5rem}
.pv .avs button[aria-pressed="true"]{border-color:var(--orange);background:rgba(255,157,77,.25)}
.pv .shopdlg{max-width:760px;width:100%;padding:22px;max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:linear-gradient(160deg,#121b4a,#090f33)}
.pv .shophead{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.pv .shophead h3{font-family:var(--pixel);font-size:2rem;margin:0;color:var(--peach)}
.pv .shophead .x{margin-left:auto}
.pv .stabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.pv .stabs button{padding:8px 14px;border-radius:12px;border:1px solid var(--edge);background:var(--glass);font-weight:800}
.pv .stabs button[aria-selected="true"]{background:linear-gradient(135deg,var(--orange),#ff7a52);border-color:transparent;color:#2b1300}
.pv .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;overflow:auto;padding:2px}
.pv .item{border-radius:16px;border:1px solid var(--edge);background:rgba(10,20,60,.35);padding:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.pv .item.owned{border-color:rgba(62,224,143,.5)}
.pv .item .prev{width:100%;height:64px;border-radius:12px;display:grid;place-items:center;font-size:2rem;overflow:hidden;background:rgba(220,232,255,.08);font-weight:800}
.pv .item .prev.name{font-size:1.1rem;padding:0 8px;white-space:nowrap;text-overflow:ellipsis;display:block;line-height:64px;text-align:center}
.pv .item b{font-size:1rem}
.pv .item .price{color:#ffd24a;font-family:var(--pixel);font-size:1.05rem}
.pv .item .cta,.pv .item .ghost{width:100%;justify-content:center;padding:8px}
.pv .coinlog{margin:0;padding:0;list-style:none;overflow:auto;display:flex;flex-direction:column;gap:6px}
.pv .coinlog li{display:flex;gap:10px;padding:8px 10px;border-radius:10px;background:rgba(10,20,60,.3);font-size:.9rem}
.pv .coinlog .d{font-weight:800;font-variant-numeric:tabular-nums;min-width:56px}
.pv .coinlog .d.plus{color:var(--mint)}
.pv .coinlog .d.minus{color:var(--red)}
.pv .coinlog time{margin-left:auto;color:var(--muted);font-size:.8rem;white-space:nowrap}
.pv .libdlg{max-width:980px}
.pv .libbar{display:flex;gap:8px;margin-bottom:10px}
.pv .libbar input{flex:1;min-width:0}
.pv .libcats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.pv .libcats button{padding:6px 12px;border-radius:99px;border:1px solid var(--edge);background:rgba(10,20,60,.3);font-weight:800;font-size:.82rem}
.pv .libcats button[aria-pressed="true"]{background:linear-gradient(135deg,var(--orange),#ff7a52);border-color:transparent;color:#2b1300}
.pv .libgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;overflow:auto;padding:2px;align-content:start}
.pv .gtile{position:relative;border-radius:16px;border:1px solid var(--edge);background:rgba(10,20,60,.35);padding:14px 12px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.pv .gtile.feat{border-color:rgba(255,157,77,.7);box-shadow:0 0 18px rgba(255,157,77,.18)}
.pv .gtile .gi{font-size:2.4rem;line-height:1.1;height:56px;display:grid;place-items:center}
.pv .gtile b{font-size:.98rem;line-height:1.2;overflow-wrap:anywhere}
.pv .gtile small{color:var(--muted);font-size:.74rem}
.pv .gtile .gbadges{display:flex;gap:4px;min-height:18px;flex-wrap:wrap;justify-content:center}
.pv .gtile .gacts{display:flex;gap:6px;width:100%;margin-top:auto}
.pv .gtile .gacts>*{flex:1;justify-content:center;padding:7px 4px;font-size:.82rem;text-decoration:none;display:inline-flex}
.pv .gstar{position:absolute;top:6px;right:8px;border:0;background:none;font-size:1.3rem;color:#ffd24a;padding:2px 4px;line-height:1}
.pv .gstar[aria-pressed="false"]{color:var(--muted)}
.pv .rgroup.sub{font-size:.66rem;padding:8px 10px 2px;letter-spacing:.08em;color:var(--peach);opacity:.85}
.pv .rhint{font-size:.78rem;color:var(--muted);padding:4px 10px 6px;line-height:1.35}
.pv .rlist li.libli{border-top-color:transparent!important;padding:6px 2px 2px}
.pv .roombtns{display:flex;gap:6px}
.pv .roombtns button{flex:1 1 auto;min-width:0;padding:6px 10px;border-radius:999px;border:1px solid var(--edge);background:rgba(220,232,255,.06);font:inherit;font-size:.78rem;font-weight:800;color:var(--muted);cursor:pointer;white-space:nowrap;justify-content:center}
.pv .roombtns button:hover{background:rgba(127,220,255,.14);color:var(--peach)}
.pv .roombtns .liball{color:var(--peach)}
.pv .remoji{display:grid;place-items:center;font-size:1.3rem;width:30px;height:30px}
.pv .rlist li.game{display:flex;align-items:center;gap:4px}
.pv .rlist li.game>button:first-child{flex:1;min-width:0}
.pv .rlist .playmini{flex:none;width:34px;height:34px;border-radius:10px;border:1px solid var(--edge);background:rgba(255,157,77,.18);display:grid;place-items:center;font-size:.8rem;color:var(--peach);text-decoration:none;font-weight:900}
.pv .rlist .playmini:hover{background:rgba(255,157,77,.4)}
.pv .playbtn{text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.pv .chatimg{display:block;max-width:min(320px,100%);max-height:260px;border-radius:12px;border:1px solid var(--edge);margin-top:4px;cursor:zoom-in;background:rgba(10,20,60,.4)}
.pv .lightbox{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:100%}
.pv .lightbox img{max-width:min(92vw,1100px);max-height:80dvh;border-radius:14px;border:1px solid var(--edge);box-shadow:0 20px 60px rgba(0,0,0,.6)}
.pv .boardwrap{position:relative;width:min(640px,100%);height:min(86dvh,900px);display:flex}
.pv .boardwrap .board{flex:1;min-height:0;background:linear-gradient(160deg,#121b4a,#090f33)}
.pv .boardwrap .board .ptitle{font-size:1.6rem;padding-right:110px}
.pv .boardwrap .btabs{grid-template-columns:repeat(5,1fr)}
.pv .btabs button[data-f="tournament"]{grid-column:span 2}
.pv .boardwrap .btabs button[data-f="tournament"]{grid-column:auto}
.pv .boardwrap .btabs button{font-size:.85rem;padding:8px}
.pv .boardwrap .post h4{font-size:1.1rem}
.pv .boardwrap .post .pb{font-size:.95rem}
.pv .boardclose{position:absolute;top:16px;right:16px;z-index:2}
@media (max-width:560px){.pv .boardwrap .btabs{grid-template-columns:1fr 1fr}}
.pv #colR .online{flex:1 1 0;min-height:120px}
.pv .board{padding:14px;flex:1.7 1 0;min-height:260px;display:flex;flex-direction:column;gap:10px}
.pv .bhead{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;padding:0;text-align:left;cursor:pointer}
.pv .bhead .ptitle{flex:1}
.pv .bhead .chev{font-size:1.1rem;color:var(--peach);transition:transform .2s}
.pv .board.collapsed{flex:0 0 auto;min-height:0}
.pv .board.collapsed .btabs,.pv .board.collapsed .blist{display:none}
.pv .board.collapsed .chev{transform:rotate(-90deg)}
.pv .boardwrap .board.collapsed .btabs{display:grid}
.pv .boardwrap .board.collapsed .blist{display:flex}
.pv .boardwrap .bhead{pointer-events:none}
.pv .boardwrap .bhead .chev,.pv .boardwrap .bhead .pnew{display:none}
.pv button.meav{cursor:pointer;padding:0;color:inherit;font:inherit;font-size:1.4rem}
.pv button.meav:hover{box-shadow:0 0 0 3px rgba(255,157,77,.5)}
.pv .board .ptitle{font-size:1.1rem}
.pv .btabs{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.pv .btabs button{padding:5px 8px;border-radius:9px;border:1px solid var(--edge);background:rgba(10,20,60,.3);font-weight:800;font-size:.74rem}
.pv .btabs button[aria-selected="true"]{background:linear-gradient(135deg,var(--orange),#ff7a52);border-color:transparent;color:#2b1300}
.pv .blist{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px;padding-right:2px}
.pv #posts{display:flex;flex-direction:column;gap:8px}
.pv .bevent{padding:10px 12px;border-radius:14px;background:rgba(255,157,77,.14);border:1px solid rgba(255,157,77,.5)}
.pv .bevent b{display:block;font-family:var(--pixel);color:var(--peach);font-size:.9rem;text-transform:uppercase;letter-spacing:.04em}
.pv .bevent p{margin:4px 0 0;font-size:.86rem;line-height:1.4;white-space:pre-line}
.pv .post{padding:10px 12px;border-radius:14px;border:1px solid rgba(190,215,255,.2);background:rgba(10,20,60,.32);display:flex;flex-direction:column;gap:6px}
.pv .post .ph{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pv .ptag{font-size:.62rem;font-weight:800;letter-spacing:.08em;padding:1px 7px;border-radius:6px;border:1px solid}
.pv .ptag.update{background:rgba(121,178,255,.22);border-color:rgba(121,178,255,.7)}
.pv .ptag.poll{background:rgba(62,224,143,.2);border-color:rgba(62,224,143,.7)}
.pv .ptag.giveaway{background:rgba(255,157,77,.28);border-color:rgba(255,157,77,.8)}
.pv .pnew{font-size:.62rem;font-weight:800;padding:1px 6px;border-radius:6px;background:var(--orange);color:#2b1300}
.pv .post time{margin-left:auto;font-size:.7rem;color:var(--muted)}
.pv .post h4{margin:0;font-size:.95rem;line-height:1.3;overflow-wrap:anywhere}
.pv .post .pb{margin:0;font-size:.84rem;line-height:1.45;color:#d9e2ff;white-space:pre-line;overflow-wrap:anywhere}
.pv .post .pb.clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.pv .post .more{align-self:flex-start;background:none;border:0;color:var(--sky);font-weight:800;font-size:.78rem;padding:0}
.pv .post .pm{font-size:.72rem;color:var(--muted)}
.pv .opt{position:relative;width:100%;text-align:left;padding:7px 10px;border-radius:10px;border:1px solid var(--edge);background:rgba(220,232,255,.08);font-weight:700;font-size:.84rem;overflow:hidden}
.pv button.opt:hover{border-color:var(--mint);background:rgba(62,224,143,.12)}
.pv .opt .bar{position:absolute;inset:0 auto 0 0;background:rgba(62,224,143,.22);z-index:0}
.pv .opt.mine{border-color:var(--mint)}
.pv .opt span{position:relative;z-index:1;display:flex;gap:8px}
.pv .opt .pc{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--muted)}
.pv .prize{font-weight:800;color:#ffd24a;font-size:.86rem}
.pv .winner{padding:6px 10px;border-radius:10px;background:rgba(255,210,74,.14);border:1px solid rgba(255,210,74,.5);font-weight:800;font-size:.85rem}
.pv .post .cta,.pv .post .ghost{padding:7px;font-size:.85rem;justify-content:center}
.pv .tabdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--orange);margin-left:6px;vertical-align:middle}
.pv .rgroup{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 10px 4px}
.pv .roomstitle{display:block}
.pv .roomshead{display:flex;align-items:center;gap:10px;width:100%;padding:0;border:0;background:none;font:inherit;color:inherit;text-transform:inherit;text-shadow:inherit;line-height:inherit;text-align:left;cursor:pointer;border-radius:12px}
.pv .roomshead .rt{flex:1;min-width:0}
.pv .roomshead .chev{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--edge);background:rgba(220,232,255,.06);font-family:var(--body);font-size:1rem;text-shadow:none;transition:transform .15s}
.pv .roomshead:hover .chev{background:rgba(127,220,255,.16)}
.pv .roomshead[aria-expanded="false"] .chev{transform:rotate(-90deg)}
.pv .rooms.allclosed{flex:0 0 auto}
.pv .roomshead .badge{font-family:var(--body);text-shadow:none;letter-spacing:0}
.pv .roomsnow{padding:9px 12px;border-radius:12px;border:1px solid var(--peach);background:linear-gradient(135deg,rgba(255,157,77,.4),rgba(255,120,80,.25));font-weight:800;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv .rlist{background:none;border:0;padding:0;gap:8px;border-radius:0}
.pv .rlist>li.rbox{flex:none;border:1px solid rgba(190,215,255,.2)!important;border-radius:16px;background:rgba(10,20,60,.32);padding:4px 6px}
.pv .rlist>li.rbox.closed{background:rgba(10,20,60,.2)}
.pv .rlist .rsub{list-style:none;margin:0;padding:0 2px 2px;display:flex;flex-direction:column}
.pv .rlist .rsub>li:first-child{border-top:0}
.pv .rlist button.rtoggle{padding:9px 8px;margin:0;gap:8px;font:inherit;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);cursor:pointer;border-radius:11px}
.pv .rlist button.rtoggle:hover{color:var(--ink);background:rgba(190,215,255,.08)}
.pv .rtoggle .chev{display:inline-block;width:14px;font-size:.85rem;transition:transform .15s}
.pv .rtoggle[aria-expanded="false"] .chev{transform:rotate(-90deg)}
.pv .rtoggle .gl{flex:1;min-width:0;text-align:left}
.pv .rtoggle .gcnt{font-variant-numeric:tabular-nums;opacity:.8;letter-spacing:0}
@media (prefers-reduced-motion:reduce){.pv .rtoggle .chev,.pv .roomshead .chev{transition:none}}
.pv .rlist li.rgroup+li{border-top-color:transparent}
.pv .lock{font-size:.8rem;opacity:.85}
.pv .newroom{justify-content:center}
.pv .chead .grow{flex:1;min-width:0}
.pv .memlist{list-style:none;margin:0;padding:0;overflow:auto;display:flex;flex-direction:column;gap:6px}
.pv .memlist li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid rgba(190,215,255,.18);background:rgba(10,20,60,.28);flex-wrap:wrap}
.pv .memlist .mav{position:relative;font-size:1.6rem;width:36px;text-align:center;flex:none}
.pv .memlist .mav .dot{position:absolute;right:-2px;bottom:2px;width:10px;height:10px}
.pv .memlist .mav .dot.off{background:#56607f;box-shadow:none}
.pv .memlist .who{flex:1;min-width:140px}
.pv .memlist .who b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv .memlist .who small{color:var(--muted)}
.pv .memlist .acts{display:flex;gap:6px;flex-wrap:wrap}
.pv .icons{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.pv .icons button{width:44px;height:44px;border-radius:12px;border:2px solid transparent;background:rgba(220,232,255,.10);display:grid;place-items:center}
.pv .icons button[aria-pressed="true"]{border-color:var(--orange);background:rgba(255,157,77,.25)}
.pv .icons img{width:28px;height:28px}
.pv .hint{margin:0 0 12px;color:var(--muted);font-size:.88rem}
.pv .count{font-size:.72rem;color:var(--muted);text-align:right;margin:-8px 0 8px}
.pv .dlg{max-height:calc(100dvh - 32px);overflow:auto}
.pv .ucard{max-width:400px;text-align:center}
.pv .ucard .uimg{width:110px;height:110px;margin:0 auto 10px;border-radius:50%;font-size:3.6rem;display:grid;place-items:center;overflow:hidden;background:linear-gradient(160deg,rgba(121,178,255,.35),rgba(255,157,77,.25));border:2px solid var(--edge)}
.pv .ucard h3{margin:0;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.pv .ucard .sub{color:var(--muted);font-size:.85rem;margin:4px 0 12px}
.pv .ucard .ubio{text-align:left;white-space:pre-line;overflow-wrap:anywhere;padding:12px 14px;border-radius:14px;background:rgba(10,20,60,.35);border:1px solid rgba(190,215,255,.18);margin:0 0 10px;line-height:1.5}
.pv .ucard .ubio.empty{color:var(--muted);font-style:italic;text-align:center}
.pv .ucard .ufav{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(255,157,77,.14);border:1px solid rgba(255,157,77,.5);text-align:left;margin-bottom:14px}
.pv .ucard .ufav img{width:28px;height:28px}
.pv .ucard .ufi{font-size:1.8rem;line-height:1}
.pv .ucard .ufav small{display:block;color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.pv .ucard .ufav .cta{margin-left:auto;padding:6px 12px;font-size:.85rem;text-decoration:none}
.pv .ucard .uacts{display:flex;gap:8px}
.pv .ucard .uacts button{flex:1}
.pv .nick{cursor:pointer}
.pv .nick:hover{text-decoration:underline}
.pv .ownpic{display:flex;align-items:center;gap:14px;margin:6px 0 14px;padding:12px;border-radius:14px;background:rgba(10,20,60,.3);border:1px solid rgba(190,215,255,.18)}
.pv .ownpic .av{width:72px;height:72px;font-size:2.6rem;border-radius:50%}
.pv .ownbtns{display:flex;flex-direction:column;gap:6px;flex:1}
.pv .ownbtns .cta,.pv .ownbtns .ghost{padding:8px;font-size:.9rem;justify-content:center}
.pv .rdsec{margin-top:14px}
.pv .rdsec h4{margin:0 0 8px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pv .rdrow{display:flex;gap:8px;flex-wrap:wrap}
.pv .rdrow input{flex:1;min-width:140px}
.pv .hright .langsel{height:44px}
.pv .ucard{padding-top:0;overflow:hidden auto}
.pv .ucard .uhero{height:92px;margin:0 -24px -56px;background:linear-gradient(160deg,rgba(121,178,255,.3),rgba(127,220,255,.12))}
.pv .ucard .uimg{position:relative;z-index:1;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.pv .ucard .uacts{flex-wrap:wrap}
.pv .ucard .urep{color:#ffb3b3;border-color:rgba(255,120,120,.5)}
.pv .uteam{margin-top:12px;padding:12px;border-radius:14px;border:1px dashed rgba(127,220,255,.55);background:rgba(10,20,60,.35);text-align:left}
.pv .uteam h4{margin:0 0 8px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;gap:8px;align-items:center}
.pv .uteam .tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:6px}
.pv .uteam .tools button{padding:8px 4px;font-size:.88rem;justify-content:center}
.pv .uteam .tools button[aria-pressed="true"]{border-color:var(--peach);background:rgba(127,220,255,.2)}
.pv .uteam .tbody{margin-top:10px}
.pv .uteam .tbody input{margin:8px 0}
.pv .uteam .tbody .cta{width:100%;justify-content:center}
.pv .uteam .state{font-size:.82rem;color:#ffd27a;margin:0 0 8px}
.pv .chips{display:flex;flex-wrap:wrap;gap:6px}
.pv .chips button{border-radius:999px;padding:7px 12px;border:1px solid var(--edge);background:rgba(220,232,255,.08);color:inherit;font:inherit;font-size:.88rem;cursor:pointer}
.pv .chips button[aria-pressed="true"]{border-color:var(--peach);background:rgba(127,220,255,.22);font-weight:700}
.pv .chips button.adm::after{content:" 👑";font-size:.8em}
.pv .proofs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.pv .proofs .pf{position:relative;width:84px;height:84px;border-radius:12px;overflow:hidden;border:1px solid var(--edge)}
.pv .proofs .pf img{width:100%;height:100%;object-fit:cover}
.pv .proofs .pf button{position:absolute;top:3px;right:3px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(0,0,0,.65);color:#fff;cursor:pointer;line-height:24px;padding:0}
.pv .proofs .pf.up::after{content:"…";position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.5);font-size:1.4rem}
.pv .addproof{width:84px;height:84px;border-radius:12px;border:2px dashed rgba(127,220,255,.6);background:rgba(127,220,255,.08);color:inherit;font:inherit;font-weight:700;cursor:pointer}
.pv .repdlg textarea{width:100%}
.pv .dlg .rulecheck{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 4px;font-size:.9rem;text-transform:none;letter-spacing:0}
.pv .dlg .rulecheck input{width:18px;height:18px;margin:0;accent-color:var(--peach)}
.pv .linkbtn{border:0;background:none;color:var(--peach);text-decoration:underline;font:inherit;cursor:pointer;padding:0}
.pv .helpdlg{max-width:620px}
.pv .helpbody{overflow:auto;padding-right:4px}
.pv .helpbody ol{margin:0;padding-left:1.4em;line-height:1.6}
.pv .helpbody ol li{margin-bottom:6px}
.pv .helpbody h4{margin:14px 0 8px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px}
.pv .cmdlist{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pv .cmdlist li{display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:10px;align-items:baseline;padding:8px 10px;border-radius:10px;background:rgba(10,20,60,.35)}
.pv .cmdlist code{font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--peach);font-size:.9rem;white-space:nowrap}
.pv .cmdlist span{font-size:.9rem}
.pv .teamtag{font-size:.66rem;padding:2px 7px;border-radius:999px;background:rgba(255,120,120,.2);border:1px solid rgba(255,120,120,.55);color:#ffc4c4;letter-spacing:.08em}
.pv .helpnote{font-size:.85rem;color:var(--muted);margin:10px 0 0}
.pv .smgrid{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:6px}
.pv .smgrid span{font-size:.82rem;color:var(--muted)}
.pv .bgrow{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.pv .bgprev{width:64px;height:40px;border-radius:10px;border:1px solid var(--edge);background:rgba(220,232,255,.08)}
.pv .bgrow span{flex:1;font-weight:700}
.pv .sys.modact{color:#ffd27a}
.pv .sys.modact b{color:inherit}
.pv .item .prev.pbg{height:70px}
.pv .vmsg{display:flex;align-items:center;gap:10px;min-width:220px;max-width:320px;padding:4px 0}
.pv .vplay{width:38px;height:38px;border-radius:50%;border:0;flex:none;display:grid;place-items:center;font-size:.95rem;background:linear-gradient(135deg,#ffb45c,var(--orange));color:#2b1300;cursor:pointer;box-shadow:0 0 10px rgba(255,157,77,.4)}
.pv .vbar{position:relative;flex:1;height:22px;border-radius:4px;cursor:pointer;background:repeating-linear-gradient(90deg,rgba(220,232,255,.35) 0 3px,transparent 3px 6px);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 22' preserveAspectRatio='none'%3E%3Cpath d='M0 8h6v6H0zM6 5h6v12H6zM12 2h6v18h-6zM18 7h6v8h-6zM24 4h6v14h-6zM30 9h6v4h-6zM36 3h6v16h-6zM42 6h6v10h-6zM48 1h6v20h-6zM54 7h6v8h-6z'/%3E%3C/svg%3E") 0 0/120px 100% repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 22' preserveAspectRatio='none'%3E%3Cpath d='M0 8h6v6H0zM6 5h6v12H6zM12 2h6v18h-6zM18 7h6v8h-6zM24 4h6v14h-6zM30 9h6v4h-6zM36 3h6v16h-6zM42 6h6v10h-6zM48 1h6v20h-6zM54 7h6v8h-6z'/%3E%3C/svg%3E") 0 0/120px 100% repeat-x}
.pv .vbar i{position:absolute;left:0;top:0;bottom:0;width:0;background:repeating-linear-gradient(90deg,var(--peach) 0 3px,transparent 3px 6px);border-radius:6px}
.pv .vtime{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums;min-width:34px;text-align:right}
.pv .recind{padding:0 18px 4px;font-size:.84rem;color:var(--peach);display:flex;align-items:center;gap:6px}
.pv .recind .dots{display:inline-flex;gap:3px;margin-left:2px}
.pv .recind .dots i{width:6px;height:6px;border-radius:50%;background:var(--peach);animation:dot 1.2s infinite ease-in-out}
.pv .recind .dots i:nth-child(2){animation-delay:.15s}
.pv .recind .dots i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.pv .recbar{display:flex;align-items:center;gap:10px;margin:0 14px 6px;padding:8px 8px 8px 16px;border-radius:18px;background:rgba(255,80,80,.12);border:1px solid rgba(255,110,110,.55)}
.pv .recbar b{font-variant-numeric:tabular-nums;font-size:1.05rem}
.pv .recbar .rechint{flex:1;color:var(--muted);font-size:.85rem}
.pv .recbar .ghost{width:40px;height:40px;padding:0;justify-content:center;border-radius:12px}
.pv .recdot{width:12px;height:12px;border-radius:50%;background:#ff4d4d;box-shadow:0 0 10px #ff4d4d;animation:recblink 1s infinite}
@keyframes recblink{50%{opacity:.3}}
.pv .livedot{width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 8px #3ddc84;margin-left:auto;animation:recblink 1.6s infinite}
.pv .crow{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid rgba(190,215,255,.12)}
.pv .crow:first-child{border-top:0}
.pv .crow .cn{flex:1;min-width:0}
.pv .crow .cn b{display:block;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv .cavs{display:flex;margin-top:4px}
.pv .cavs span{width:24px;height:24px;border-radius:50%;margin-right:-6px;border:2px solid #16204d;display:grid;place-items:center;font-size:.8rem;overflow:hidden;background:rgba(220,232,255,.15)}
.pv .cavs span.on{border-color:#3ddc84}
.pv .cavs em{font-style:normal;font-size:.75rem;color:var(--muted);margin-left:12px;align-self:center}
.pv .crow .cta,.pv .crow .ghost{padding:6px 12px;font-size:.82rem}
.pv .crow small{color:var(--muted);font-size:.74rem}
.pv .callbar{display:flex;align-items:center;gap:10px;margin:8px 14px 0;padding:8px 10px 8px 14px;border-radius:16px;background:linear-gradient(90deg,rgba(61,220,132,.18),rgba(127,220,255,.1));border:1px solid rgba(61,220,132,.55);flex-wrap:wrap}
.pv .callbar .ct{flex:1;min-width:120px;font-weight:800;font-size:.9rem}
.pv .callbar .ct small{display:block;font-weight:600;color:var(--muted);font-size:.76rem}
.pv .callbar .ibtn{width:40px;height:40px;border-radius:12px}
.pv .callbar .hang{background:linear-gradient(135deg,#ff6b6b,#e03b3b);color:#fff;border:0;border-radius:12px;padding:0 14px;height:40px;font-weight:800;cursor:pointer}
.pv .callbar .ibtn.off{background:rgba(255,80,80,.25);border-color:rgba(255,110,110,.6)}
.pv .inbar{position:relative}
.pv .acbox{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:25;max-height:300px;overflow:auto;padding:6px;border-radius:16px;background:#0f1640;border:1px solid var(--edge);box-shadow:0 -8px 28px rgba(0,0,0,.45)}
.pv .acbox[hidden]{display:none}
.pv .acbox button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:10px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.pv .acbox button[aria-selected="true"],.pv .acbox button:hover{background:rgba(127,220,255,.16)}
.pv .acbox code{font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--peach);font-size:.9rem;white-space:nowrap}
.pv .acbox span{font-size:.84rem;color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv .acbox i.teamtag{font-style:normal}
.pv .acbox .acav{flex:none;width:26px;height:26px;border-radius:50%;overflow:hidden;display:grid;place-items:center;font-size:.95rem;background:rgba(220,232,255,.12);color:inherit}
.pv .acbox p{margin:4px 10px 2px;font-size:.72rem;color:var(--muted)}
.pv .callwin{position:fixed;right:20px;bottom:20px;z-index:35;width:262px;max-width:calc(100vw - 24px);padding:14px;border-radius:22px;background:linear-gradient(160deg,#121b4a,#080d2e);box-shadow:0 18px 50px rgba(0,0,0,.55);border:1px solid rgba(61,220,132,.5)}
.pv .callwin[hidden]{display:none!important}
.pv .cwhead{display:flex;align-items:center;gap:8px;margin-bottom:12px;cursor:grab;touch-action:none;user-select:none}
.pv .cwhead.drag{cursor:grabbing}
.pv .cwgrip{color:var(--muted);font-size:1rem;line-height:1}
@media (max-width:760px){.pv .cwhead{cursor:default}
.pv .cwgrip{display:none}}
.pv .cwhead b{flex:1;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv .cwhead b::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 8px #3ddc84;margin-right:8px;vertical-align:1px;animation:recblink 1.6s infinite}
.pv .cwmin{width:32px;height:32px;border-radius:10px;border:1px solid var(--edge);background:rgba(220,232,255,.08);color:inherit;font-size:1.2rem;font-weight:800;cursor:pointer;line-height:1}
.pv .cwtiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;max-height:260px;overflow:auto;padding:2px}
.pv .ctile{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}
.pv .ctile .cav{position:relative;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-size:1.9rem;background:rgba(220,232,255,.12);border:3px solid rgba(190,215,255,.25);transition:border-color .12s,box-shadow .12s}
.pv .ctile .cav .avimg{border-radius:50%}
.pv .ctile.talk .cav{border-color:#3ddc84;box-shadow:0 0 0 4px rgba(61,220,132,.25),0 0 18px rgba(61,220,132,.6)}
.pv .ctile .cmute{position:absolute;right:-4px;bottom:-4px;width:24px;height:24px;border-radius:50%;background:#e03b3b;display:grid;place-items:center;font-size:.72rem;border:2px solid #101842}
.pv .ctile span.nm{font-size:.8rem;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv .ctile.wait .cav{opacity:.55}
.pv .cwacts{display:flex;justify-content:center;gap:22px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(190,215,255,.14)}
.pv .cwbtn{display:flex;flex-direction:column;align-items:center;gap:5px;background:none;border:0;color:inherit;font:inherit;cursor:pointer}
.pv .cwbtn .ico{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;background:rgba(220,232,255,.16);border:1px solid var(--edge);transition:transform .1s}
.pv .cwbtn:active .ico{transform:scale(.94)}
.pv .cwbtn small{font-size:.76rem;font-weight:700;color:var(--muted)}
.pv .cwbtn.off .ico{background:#e03b3b;border-color:#ff8a8a}
.pv .hangb .ico{background:linear-gradient(135deg,#ff6b6b,#d62f2f);border:0;transform:rotate(135deg)}
.pv .hangb:active .ico{transform:rotate(135deg) scale(.94)}
@media (max-width:760px){.pv .callwin{left:12px;right:12px;bottom:12px;width:auto}}
.pv .ufriend{display:flex;gap:8px;margin-bottom:8px}
.pv .ufriend button{flex:1;justify-content:center;padding:9px 10px;font-size:.88rem}
.pv .ufriend .isfriend{background:rgba(255,210,74,.14);border-color:rgba(255,210,74,.55);color:#ffe28a}
.pv .giftamts{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.pv .giftin{display:flex;align-items:center;gap:8px}
.pv .giftin input{flex:1;margin:0}
.pv .unlprice{display:flex;align-items:center;justify-content:center;gap:8px;font-size:1.8rem;font-family:var(--pixel);color:#ffd24a;margin:6px 0 4px}
.pv .unlprice .coinico{width:1.2em;height:1.2em;margin:0}
.pv .unlp{margin:0 0 6px;text-align:center}
.pv .gtile.locked .gi{filter:grayscale(.7) opacity(.7)}
.pv .lockb{display:inline-flex;align-items:center;gap:3px;font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:99px;background:rgba(255,210,74,.14);border:1px solid rgba(255,210,74,.5);color:#ffe28a}
.pv .lockb .coinico{width:1.1em;height:1.1em;margin:0}
.pv .playmini.locked{background:rgba(255,210,74,.14);border:1px solid rgba(255,210,74,.5);cursor:pointer;font-size:.7rem}
.pv .playbtn .coinico{width:1.2em;height:1.2em;margin:0 2px 0 0}
.pv .fstat{font-size:.78rem;color:var(--muted)}
.pv .fstat.on{color:#3ddc84}
.pv .lvbox{display:grid;gap:6px;margin:0 0 14px;padding:12px 14px;border-radius:14px;background:rgba(10,20,60,.35);border:1px solid rgba(190,215,255,.18)}
.pv .lvtop{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pv .lvtop b{font-family:var(--pixel);font-size:1.35rem;color:var(--peach)}
.pv .lvtop .rk{font-weight:800}
.pv .lvtop .wins{margin-left:auto;font-size:.82rem;color:#ffe28a;font-weight:800}
.pv .xpbar{height:10px;border-radius:99px;background:rgba(220,232,255,.12);overflow:hidden}
.pv .xpbar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--peach),#ffd24a);box-shadow:0 0 10px rgba(127,220,255,.5)}
.pv .xpline{font-size:.8rem;color:var(--muted);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.pv .lvbox details summary{cursor:pointer;font-size:.82rem;font-weight:800;color:var(--peach);list-style:none}
.pv .lvbox details summary::-webkit-details-marker{display:none}
.pv .rklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 10px;margin-top:8px;font-size:.84rem}
.pv .rklist span{display:flex;gap:6px;align-items:center;color:var(--muted)}
.pv .rklist span.got{color:var(--text,#eef2ff)}
.pv .rklist span.now{color:var(--peach);font-weight:800}
.pv .rklist em{font-style:normal;font-variant-numeric:tabular-nums;min-width:48px;opacity:.8;white-space:nowrap}
.pv .nickrow{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.pv .nickrow b{flex:1;font-size:1.05rem}
.pv .nickrow .ghost{padding:6px 12px;font-size:.85rem}
.pv .nickedit{margin-bottom:12px}
.pv .nickedit .hint{margin:-4px 0 10px}
.pv .ucard .ulv{display:grid;gap:4px;margin:0 0 12px;text-align:left}
.pv .ucard .ulv .xpline{font-size:.78rem}
.pv .ucard.pbg::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(11,16,52,0) 0,rgba(11,16,52,.18) 40%,rgba(11,16,52,.55) 100%)}
.pv .ucard.pbg{border-color:rgba(255,255,255,.35)}
.pv .ucard.pbg .ulv,.pv .ucard.pbg .sub{text-shadow:0 1px 3px rgba(0,0,0,.8)}
.pv .ucard.pbg .uhero{background:transparent}
.pv .ucard.pbg .ubio{background:rgba(10,20,60,.55)}
.pv .ptag.tournament{background:rgba(255,210,74,.2);border-color:rgba(255,210,74,.6);color:#ffe28a}
.pv .tmeta{display:grid;gap:4px;font-size:.86rem;margin:6px 0}
.pv .tmeta div{display:flex;gap:8px;align-items:center}
.pv .tfill{height:6px;border-radius:99px;background:rgba(220,232,255,.12);overflow:hidden;margin:2px 0 4px}
.pv .tfill i{display:block;height:100%;background:linear-gradient(90deg,#ffd24a,var(--orange))}
.pv .tprize{display:flex;gap:8px;flex-wrap:wrap;font-size:.84rem;font-weight:800}
.pv .tprize span{padding:2px 8px;border-radius:99px;background:rgba(255,210,74,.12);border:1px solid rgba(255,210,74,.35)}
.pv .tstat{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:99px;border:1px solid var(--edge)}
.pv .tstat.signup{color:#3ddc84;border-color:rgba(61,220,132,.6)}
.pv .tstat.running{color:var(--peach);border-color:rgba(127,220,255,.6)}
.pv .tstat.done{color:var(--muted)}
.pv .podium{display:grid;gap:4px;margin:6px 0}
.pv .podium div{display:flex;gap:8px;align-items:center;font-weight:800}
.pv .tplayers summary{cursor:pointer;font-size:.8rem;color:var(--muted);margin-top:4px}
.pv .tplayers p{margin:4px 0 0;font-size:.82rem;color:var(--muted)}
.pv .profframe{position:relative;isolation:isolate;overflow:hidden;width:100%;max-width:440px;max-height:calc(100dvh - 32px);display:flex;border-radius:20px;background:linear-gradient(160deg,#121b4a,#090f33)}
.pv .profframe.pbg{border-color:rgba(255,255,255,.35)}
.pv .profframe.pbg::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(5,8,30,.5)}
.pv .profframe.pbg input,.pv .profframe.pbg textarea,.pv .profframe.pbg select,.pv .profframe.pbg .avs button{background:rgba(6,10,34,.7)}
.pv .profframe>.dlg{background:transparent;flex:1;min-width:0;max-width:none;max-height:none;overflow:auto}
.pv .profframe.pbg h3,.pv .profframe.pbg label,.pv .profframe.pbg p{text-shadow:0 1px 3px rgba(0,0,0,.85)}
.pv .profframe.pbg .lvbox,.pv .profframe.pbg .ownpic{background:rgba(6,10,34,.62)}
.pv .profframe.pbg .profprev{background:rgba(6,10,34,.35)}
.pv .profprev{position:relative;display:flex;align-items:center;gap:14px;min-height:112px;padding:16px;margin:4px 0 14px;border-radius:18px;border:1px solid rgba(255,255,255,.3);overflow:hidden;isolation:isolate;background:linear-gradient(160deg,rgba(121,178,255,.25),rgba(127,220,255,.08))}
.pv .profprev::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,10,34,.55),rgba(6,10,34,0) 70%);pointer-events:none}
.pv .profprev .ppav{width:72px;height:72px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:2.4rem;overflow:hidden;background:rgba(10,16,48,.5);border:2px solid rgba(255,255,255,.55);box-shadow:0 6px 18px rgba(0,0,0,.4)}
.pv .profprev .ppwho{min-width:0;display:grid;gap:2px;text-shadow:0 1px 3px rgba(0,0,0,.8)}
.pv .profprev .ppwho b{font-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv .profprev .ppwho small{font-size:.82rem;font-weight:700}
.pv .profprev .pptag{position:absolute;top:8px;right:10px;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:99px;background:rgba(6,10,34,.6);color:var(--muted)}
.pv .bgpick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.pv .bgpick button{width:70px;height:46px;border-radius:12px;border:2px solid transparent;padding:0;background:rgba(220,232,255,.08);font-size:.72rem;font-weight:800;color:var(--muted)}
.pv .bgpick button[aria-pressed="true"]{border-color:var(--peach);box-shadow:0 0 0 3px rgba(127,220,255,.25)}
.pv .bgpick .shopb{width:auto;padding:0 12px;border:1px dashed var(--edge)}
.pv .coinico{width:1.45em;height:1.45em;vertical-align:-.28em;margin-right:6px;flex:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}
.pv .pill.coins{display:inline-flex;align-items:center}
.pv .price .coinico{width:1.1em;height:1.1em;margin-right:4px}
.pv .langbtn{font-family:var(--pixel);font-weight:700;font-size:.95rem!important;letter-spacing:.04em;color:var(--peach)}
.pv .mpop .lang.on{background:rgba(127,220,255,.18)}
.pv header.top{position:relative;z-index:20}
.pv .menuwrap{position:relative}
.pv .menubtn{position:relative;overflow:visible!important}
.pv .menubtn .mimg{width:100%;height:100%;border-radius:50%;overflow:hidden;display:grid;place-items:center}
.pv .menubtn .mchev{position:absolute;right:-5px;bottom:-4px;width:18px;height:18px;border-radius:50%;background:#0f1640;border:1px solid var(--edge);font-size:.62rem;display:grid;place-items:center;color:var(--peach)}
.pv .menubtn .mdot{position:absolute;top:-2px;right:-2px;width:12px;height:12px;border-radius:50%;background:var(--orange);border:2px solid #0f1640;box-shadow:0 0 8px var(--orange)}
.pv .umenu{position:fixed;z-index:40;max-height:calc(100dvh - 90px);overflow:auto;width:260px;padding:8px;border-radius:18px;background:linear-gradient(160deg,#121b4a,#090f33);box-shadow:0 14px 40px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:2px}
.pv .umenu[hidden]{display:none!important}
.pv .umhead{display:flex;gap:10px;align-items:center;padding:6px 8px 10px;border-bottom:1px solid rgba(190,215,255,.16);margin-bottom:4px}
.pv .umhead .av{width:40px;height:40px;font-size:1.4rem;border-radius:50%;flex:none}
.pv .umhead b{display:block;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv .umhead{width:100%;background:none;border:0;border-radius:12px 12px 0 0;color:inherit;font:inherit;text-align:left;cursor:pointer}
.pv .umhead:hover,.pv .umhead:focus-visible{background:rgba(190,215,255,.1)}
.pv .umhead .umt{min-width:0;flex:1;display:block}
.pv .umhead small{display:block}
.pv .umhead .umopen{display:block;margin-top:6px;font-size:.76rem;font-weight:800;color:var(--peach)}
.pv .picdlg{background:rgba(3,6,20,.86);cursor:zoom-out}
.pv .bigpic{width:min(82vw,64vh,420px);aspect-ratio:1;max-width:100%;border-radius:50%;overflow:hidden;display:grid;place-items:center;font-size:min(46vw,36vh,230px);line-height:1;background:linear-gradient(160deg,#2a3a7a,#5a3a5a);border:4px solid #ffd696;box-shadow:0 20px 60px rgba(0,0,0,.6);animation:pic-in .25s ease-out}
.pv .bigpic img{width:100%;height:100%;object-fit:cover}
@keyframes pic-in{from{transform:scale(.85);opacity:0}}
@media (prefers-reduced-motion:reduce){.pv .bigpic{animation:none}}
.pv .picdlg .ux{position:fixed;top:max(14px,env(safe-area-inset-top));right:14px;width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,214,150,.6);background:#2a1350;color:#ffd696;font-size:1.1rem;cursor:pointer}
.pv .friendadd{display:flex;gap:8px;margin:10px 0}
.pv .friendadd input{flex:1;min-width:0}
.pv .loginbtn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 6px;border-radius:999px;border:1px solid rgba(255,157,77,.6);background:linear-gradient(135deg,rgba(255,157,77,.25),rgba(255,107,26,.15));color:inherit;font:inherit;font-weight:800;cursor:pointer}
.pv .loginbtn>span:first-child{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(10,20,60,.6);font-size:1.1rem}
.pv .umhead>div{min-width:0;flex:1}
.pv .umhead .mxp{display:block;height:4px;border-radius:99px;background:rgba(220,232,255,.14);overflow:hidden;margin-top:5px}
.pv .umhead .mxp i{display:block;height:100%;background:linear-gradient(90deg,var(--orange),var(--sky))}
.pv .umhead small{color:var(--muted);font-size:.78rem}
.pv .umenu>button,.pv .umenu>a,.pv .umrow{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:11px;background:none;color:inherit;font:inherit;font-weight:700;font-size:.93rem;text-align:left;text-decoration:none;cursor:pointer}
.pv .umenu>button:hover,.pv .umenu>a:hover,.pv .umenu>button:focus-visible,.pv .umenu>a:focus-visible{background:rgba(190,215,255,.13)}
.pv .umenu i{font-style:normal;width:22px;text-align:center}
.pv .umrow{cursor:default}
.pv .umrow .langsel{margin-left:auto;height:32px!important;max-width:120px!important;font-size:.8rem;border-radius:9px}
.pv .umenu .out{border-top:1px solid rgba(190,215,255,.16);border-radius:0 0 11px 11px;margin-top:4px;color:#ffc4c4}
.pv .mcount,.pv .mnew{margin-left:auto;min-width:22px;padding:1px 7px;border-radius:99px;background:var(--orange);color:#2b1300;font-size:.72rem;font-weight:800;text-align:center}
.pv .mnew{background:rgba(127,220,255,.25);color:var(--peach);border:1px solid rgba(127,220,255,.6)}
.pv .ibtn.hb{width:38px;height:38px;border-radius:12px;font-size:1rem}
.pv .chead .acts{align-items:center}
.pv .mpop{position:fixed;z-index:30;min-width:190px;padding:6px;border-radius:14px;background:#0f1640;border:1px solid var(--edge);box-shadow:0 8px 24px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:2px}
.pv .mpop .rxrow{display:flex;gap:2px;padding:2px 2px 6px;border-bottom:1px solid rgba(190,215,255,.14);margin-bottom:4px}
.pv .mpop .rxrow button{border:0;background:none;font-size:1.25rem;width:34px;height:34px;border-radius:9px;cursor:pointer}
.pv .mpop .rxrow button:hover{background:rgba(190,215,255,.16)}
.pv .mpop>button{display:flex;gap:8px;align-items:center;border:0;background:none;color:inherit;font:inherit;font-weight:700;font-size:.9rem;padding:8px 10px;border-radius:9px;text-align:left;cursor:pointer}
.pv .mpop>button:hover,.pv .mpop>button:focus-visible{background:rgba(190,215,255,.14)}
.pv .mpop>button.bad{color:#ffb3b3}
.pv .mact .more{font-size:1rem;line-height:1;padding:0 9px 4px}
.pv .ucard{position:relative}
.pv .ucard .ux{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;border-radius:50%;padding:0;display:grid;place-items:center;background:rgba(10,20,60,.55);border:1px solid var(--edge);color:inherit;font-size:1rem;cursor:pointer}
.pv .ucard .uacts{display:grid;grid-template-columns:auto 1fr;gap:8px}
.pv .ucard .urep{padding:10px 14px}
.pv .uteam .ttog{width:100%;display:flex;align-items:center;gap:8px;background:none;border:0;color:var(--muted);font:inherit;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;padding:0}
.pv .uteam .ttog .chev{margin-left:auto;transition:transform .2s;font-size:.9rem;color:var(--peach)}
.pv .uteam .ttog[aria-expanded="true"] .chev{transform:rotate(180deg)}
.pv .uteam .tin{margin-top:10px}
.pv .uteam .tin[hidden]{display:none}
@media (max-width:420px){.pv #headRight{gap:5px}
.pv .hright .langsel{max-width:58px;padding-left:6px;padding-right:2px}
.pv .ibtn,.pv .meav{width:34px;height:34px;font-size:.95rem}
.pv .pill.coins{padding:5px 8px;font-size:.9rem}}
.pv .repdlg h3{margin-bottom:12px}
@media (max-width:560px){.pv .cmdlist li{grid-template-columns:1fr;gap:2px}}
@media (max-width:760px){.pv .hright .langsel{max-width:70px;height:38px}
.pv #headApp{display:contents}
.pv #headRight{gap:6px;justify-content:flex-start;margin-left:0;width:100%}
.pv .ibtn,.pv .meav{width:38px;height:38px;font-size:1rem}
.pv .pill.coins{padding:6px 10px}
.pv header.top{gap:10px;padding:10px 12px}}
@media (max-width:1060px){.pv main{grid-template-columns:240px minmax(0,1fr)}
.pv #colR{display:none}}
@media (max-width:760px) and (orientation:portrait),(max-width:559px){.pv main{grid-template-columns:minmax(0,1fr)}
.pv .tabs{display:flex;justify-content:space-between;gap:8px}
.pv .tabs button{flex:0 1 auto;min-width:0;padding:9px 16px;white-space:nowrap}
.pv .tabs button[data-p="chat"]{display:none}
.pv .tabs button[data-p="colL"]::before{content:"☰  "}
.pv .tabs button[data-p="colR"]::after{content:"  👥"}
.pv main>.chat{display:flex!important}
.pv main>.col{display:flex!important;position:fixed;top:0;bottom:0;z-index:30;width:min(88vw,360px);padding:calc(12px + env(safe-area-inset-top,0px)) 10px calc(12px + env(safe-area-inset-bottom,0px));
    background:linear-gradient(180deg,#0d1540,#070b28);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;transition:transform .22s ease,visibility .22s;visibility:hidden;box-shadow:0 0 40px rgba(0,0,0,.6)}
.pv #colL{left:0;transform:translateX(-104%);border-right:1px solid var(--edge);border-radius:0 22px 22px 0;padding-left:max(10px,env(safe-area-inset-left,0px))}
.pv #colR{right:0;transform:translateX(104%);border-left:1px solid var(--edge);border-radius:22px 0 0 22px;padding-right:max(10px,env(safe-area-inset-right,0px))}
.pv main>#colL.show,.pv main>#colR.show{transform:none;visibility:visible}
.pv main>.col>*,.pv main>#colR>.online,.pv main>#colR>.board{flex:none;min-height:0;height:auto;max-height:none}
.pv main>#colR .posts,.pv main>#colR #posts{overflow:visible;max-height:none}
.pv main>.col .rlist,.pv main>.col .ulist{overflow:visible;max-height:none}
.pv .wrap>.drawerback{display:block;position:fixed;inset:0;z-index:29;border:0;padding:0;background:rgba(3,6,20,.62);-webkit-tap-highlight-color:transparent}
.pv .wrap>.drawerback[hidden]{display:none}
.pv .drawerback span{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(220,232,255,.14);border:1px solid var(--edge);color:#fff;font-size:1.1rem}
.pv .drawerback[data-side="colL"] span{right:10px}
.pv .drawerback[data-side="colR"] span{left:10px}
.pv .hide-sm{display:none!important}
.pv .chead{padding:10px 12px}
.pv .chead h2{font-size:1.4rem}
.pv .chead .acts{margin-left:0}
.pv .av{width:42px;height:42px;font-size:1.5rem}}
.pv .drawerback{display:none}
@media (prefers-reduced-motion:reduce){.pv main>.col{transition:none!important}}
.pv .cidlg{max-width:min(760px,100%);min-width:0}
.pv .cilead{margin:0 0 14px;color:var(--muted);line-height:1.45}
.pv .cirow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr)) minmax(0,1.5fr);gap:8px}
.pv .ciday{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px 10px;border-radius:16px;background:rgba(10,20,60,.5);border:1px solid rgba(190,215,255,.2);text-align:center;min-height:132px}
.pv .ciday .cd{font-family:var(--pixel);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pv .ciday .ci{flex:1;display:grid;place-items:center;font-size:2rem;line-height:1;min-height:52px}
.pv .ciday .ci .coinico{width:38px;height:38px}
.pv .ciday .ci .smimg{width:52px;height:52px;object-fit:contain}
.pv .ciday .cl{font-size:.76rem;font-weight:800;line-height:1.2;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto;max-width:100%}
.pv .ciswatch{display:block;width:52px;height:40px;border-radius:9px;border:1px solid rgba(255,255,255,.35)}
.pv .ciday.big{background:linear-gradient(160deg,rgba(255,210,74,.28),rgba(255,107,26,.22) 60%,rgba(140,80,255,.2));border-color:rgba(255,210,74,.7)}
.pv .ciday.big .cd{color:#ffd24a}
.pv .ciday.big .ci{font-size:2.6rem}
.pv .ciday.today{border:2px solid #ff9d4d;box-shadow:0 0 0 3px rgba(255,157,77,.18),0 0 22px rgba(255,157,77,.35);animation:ci-glow 1.8s ease-in-out infinite}
.pv .ciday.today .cd{color:#ff9d4d}
.pv .ciday.done{opacity:.62}
.pv .ciday .stamp{position:absolute;top:-7px;right:-7px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#3ddc84;color:#06261a;font-weight:900;font-size:.85rem;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.pv .ciday.got{opacity:1;animation:ci-pop .6s cubic-bezier(.3,1.6,.5,1)}
@keyframes ci-glow{50%{box-shadow:0 0 0 5px rgba(255,157,77,.12),0 0 30px rgba(255,157,77,.5)}}
@keyframes ci-pop{0%{transform:scale(.7) rotate(-6deg)}60%{transform:scale(1.12) rotate(2deg)}100%{transform:none}}
@media (prefers-reduced-motion:reduce){.pv .ciday.today,.pv .ciday.got{animation:none}}
.pv .ciact{display:flex;justify-content:center;margin:16px 0 4px}
.pv .ciact .cta{min-width:min(320px,100%);font-size:1.05rem;padding:12px 20px}
.pv .cinote{margin:10px 0 0;padding:12px 14px;border-radius:14px;background:rgba(61,220,132,.12);border:1px solid rgba(61,220,132,.5);text-align:center}
.pv .cinote p{margin:6px 0 0;color:var(--muted);font-size:.88rem}
.pv .cicode,.pv .cicodes li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:8px}
.pv .cicode small{width:100%;color:var(--muted)}
.pv .cicode code,.pv .cicodes code{font-size:1.1rem;font-weight:800;letter-spacing:.08em;padding:6px 12px;border-radius:10px;background:rgba(6,10,34,.7);border:1px dashed rgba(255,210,74,.7);color:#ffd24a;user-select:all;overflow-wrap:anywhere}
.pv .cibottom{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:16px}
.pv .cibottom:has(.cicodes:not([hidden])){grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.pv .cicodes{padding:12px;border-radius:16px;background:rgba(10,20,60,.45);border:1px solid rgba(190,215,255,.18)}
.pv .cicodes h5{margin:0 0 6px;font-size:.9rem}
.pv .cicodes ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pv .cicodes li{justify-content:flex-start}
.pv .cicodes li small{color:var(--muted);font-size:.75rem}
.pv .cicodes code{font-size:.92rem}
.pv .cicodes .ghost,.pv .cicode .ghost{padding:5px 10px;font-size:.8rem;min-height:0}
@media (max-width:640px){.pv .cirow{grid-template-columns:repeat(4,minmax(0,1fr))}
.pv .ciday.big{grid-column:span 2}
.pv .ciday{min-height:116px;padding:8px 4px}
.pv .ciday .ci{font-size:1.7rem;min-height:44px}
.pv .ciday .ci .smimg{width:44px;height:44px}
.pv .cibottom:has(.cicodes:not([hidden])){grid-template-columns:minmax(0,1fr)}}
.pv .petbox{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:center;padding:12px 14px;border-radius:16px;background:linear-gradient(140deg,rgba(141,255,176,.13),rgba(127,220,255,.08));border:1px solid rgba(141,255,176,.4);text-align:left}
.pv .petbox:empty{display:none}
.pv .petpic{width:78px;height:78px;display:grid;place-items:center;line-height:1;border-radius:50%;background:radial-gradient(circle at 50% 70%,rgba(141,255,176,.25),transparent 70%);animation:pet-bob 2.6s ease-in-out infinite}
@keyframes pet-bob{50%{transform:translateY(-4px)}}
@media (prefers-reduced-motion:reduce){.pv .petpic{animation:none}}
.pv .petinfo small{display:block;color:var(--muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.pv .petinfo .petname{font-size:1.1rem}
.pv .petinfo .xpline{display:flex;justify-content:space-between;font-size:.76rem;color:var(--muted);margin-top:2px}
.pv .xpbar.pet i{background:linear-gradient(90deg,#8dffb0,#3ddc84)}
.pv .pettools,.pv .petname-edit{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}
.pv .pettools .ghost{padding:5px 10px;font-size:.8rem;min-height:0}
.pv .petname-edit input{flex:1;min-width:0}
.pv .petgrid{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.pv .petgrid .bnote{grid-column:1/-1;margin:2px 0}
.pv .petgrid button{font-size:1.6rem;padding:6px 0;border-radius:12px;background:rgba(6,10,34,.5);border:1px solid rgba(190,215,255,.2);cursor:pointer;line-height:1.1}
.pv .petgrid button[aria-pressed=true]{border-color:#8dffb0;background:rgba(141,255,176,.2)}
.pv .petbox>.bnote{grid-column:1/-1;margin:2px 0 0}
.pv .smfoot{grid-column:1/-1;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.78rem;color:var(--muted);padding-top:6px;border-top:1px solid rgba(190,215,255,.15)}
.pv .smfoot span{flex:1;min-width:100px}
.pv .smfoot .ghost{padding:4px 9px;font-size:.78rem;min-height:0}
.pv .ucard.diary{max-width:640px;width:100%;padding:0 40px 0 0;background:none;border:0;box-shadow:none;text-align:left;overflow:visible;backdrop-filter:none;-webkit-backdrop-filter:none}
.pv .bookcover{--c:#ff9d4d;position:relative;padding:14px 14px 12px 34px;border-radius:14px 22px 22px 14px;background:radial-gradient(120% 80% at 20% 0%,rgba(255,255,255,.08),transparent 60%),linear-gradient(135deg,#4a2470,#2a1350 55%,#1c0d3c);box-shadow:0 24px 60px rgba(0,0,0,.6),inset 0 0 0 2px rgba(255,214,150,.22)}
.pv .bookcover::before{content:"";position:absolute;inset:7px 7px 7px 26px;border:1.5px dashed rgba(255,214,150,.32);border-radius:10px 16px 16px 10px;pointer-events:none}
.pv .bookrings{position:absolute;left:8px;top:30px;bottom:30px;width:36px;display:flex;flex-direction:column;justify-content:space-around;z-index:3;pointer-events:none}
.pv .bookrings i{display:block;height:9px;border-radius:5px;background:linear-gradient(180deg,#fdfdff,#aab3cf 60%,#6d7698);box-shadow:0 2px 3px rgba(0,0,0,.5)}
.pv .bookpage{position:relative;z-index:1;height:min(66vh,600px);overflow:auto;overscroll-behavior:contain;padding:18px 18px 16px 32px;border-radius:4px 12px 12px 4px;
  background:linear-gradient(90deg,rgba(0,0,0,.35),transparent 22px),repeating-linear-gradient(180deg,transparent 0 29px,rgba(127,220,255,.07) 29px 30px),linear-gradient(180deg,#141d4d,#0f1640);
  box-shadow:inset 0 0 0 1px rgba(190,215,255,.16),2px 2px 0 #0e1440,4px 4px 0 #2b2f5c,6px 6px 0 #0c1236;outline:none;scrollbar-width:thin}
.pv .bookpage::before{content:"";position:absolute;left:22px;top:0;bottom:0;width:1px;background:rgba(255,107,26,.35);pointer-events:none}
.pv .bookpage.turn-next{animation:page-next .42s cubic-bezier(.2,.7,.3,1);transform-origin:left center}
.pv .bookpage.turn-prev{animation:page-prev .42s cubic-bezier(.2,.7,.3,1);transform-origin:left center}
@keyframes page-next{0%{transform:perspective(1400px) rotateY(-24deg);opacity:.25}100%{transform:none;opacity:1}}
@keyframes page-prev{0%{transform:perspective(1400px) rotateY(16deg) translateX(-10px);opacity:.25}100%{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.pv .bookpage.turn-next,.pv .bookpage.turn-prev{animation:none}}
.pv .booktabs{position:absolute;right:-40px;top:34px;display:flex;flex-direction:column;gap:6px;z-index:0}
.pv .booktabs button{--c:#ff9d4d;display:flex;align-items:center;gap:6px;width:52px;height:44px;padding:0 0 0 18px;border:0;border-radius:0 12px 12px 0;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 55%,#1c0d3c),var(--c));color:#1a0d2e;font-size:1.15rem;cursor:pointer;box-shadow:2px 3px 6px rgba(0,0,0,.4);transition:width .18s,transform .18s}
.pv .booktabs button b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pv .booktabs button:hover,.pv .booktabs button:focus-visible{transform:translateX(3px)}
.pv .booktabs button[aria-selected=true]{width:60px;box-shadow:2px 3px 10px rgba(0,0,0,.5),0 0 0 2px #fff inset}
.pv .bookfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 4px 0 0}
.pv .bookfoot .bnum{font-family:"Permanent Marker",var(--body);color:#ffd696;font-size:.95rem;letter-spacing:.03em}
.pv .bookfoot button{width:40px;height:36px;border-radius:12px;border:1px solid rgba(255,214,150,.4);background:rgba(255,214,150,.1);color:#ffd696;font-size:1.4rem;line-height:1;cursor:pointer}
.pv .bookfoot button:disabled{opacity:.3;cursor:default}
.pv .ucard.diary .ux{position:absolute;top:-12px;right:-12px;z-index:5;width:38px;height:38px;border-radius:50%;border:2px solid rgba(255,214,150,.6);background:#2a1350;color:#ffd696;font-size:1rem;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.5)}
.pv .btitle{font-family:"Permanent Marker",var(--body);font-weight:400;font-size:1.45rem;color:var(--c);margin:0 0 12px;transform:rotate(-1.2deg);transform-origin:left;line-height:1.2;overflow-wrap:anywhere}
.pv .bookpage h5{font-family:"Permanent Marker",var(--body);font-weight:400;font-size:1.05rem;color:#ffd696;margin:16px 0 8px;letter-spacing:.02em}
.pv .bempty{color:var(--muted);font-style:italic;margin:6px 0}
.pv .bnote{color:var(--muted);font-size:.84rem;line-height:1.45;margin:10px 0}
.pv .blink{margin:6px 0 4px}
.pv .bookpage[data-page=me]{text-align:center}
.pv .bhero{height:118px;margin:-18px -18px 0 -32px;border-radius:4px 12px 0 0;background:linear-gradient(160deg,rgba(121,178,255,.3),rgba(255,157,77,.18))}
.pv .ucard .bav{position:relative;z-index:1;width:112px;height:112px;margin:-62px auto 0;border-radius:50%;font-size:3.6rem;display:grid;place-items:center;overflow:hidden;background:linear-gradient(160deg,#2a3a7a,#5a3a5a);border:3px solid #ffd696;box-shadow:0 6px 20px rgba(0,0,0,.45)}
.pv .bookpage[data-page=me] h3{margin:8px 0 0}
.pv .bookpage[data-page=me] .ubio,.pv .bookpage[data-page=me] .ufav,.pv .bookpage[data-page=me] .ulv,.pv .bookpage[data-page=me] .petbox,.pv .bookpage[data-page=me] .bach{text-align:left}
.pv .bchips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0 0 6px}
.pv .bchips>*{padding:5px 11px;border-radius:999px;font:inherit;font-size:.8rem;font-weight:800;color:inherit;background:rgba(190,215,255,.1);border:1px solid rgba(190,215,255,.25)}
.pv .bchips button{cursor:pointer}
.pv .bchips button:hover{background:rgba(190,215,255,.2)}
.pv .bsec{margin-bottom:6px}
.pv .bpetslot{margin:10px 0 4px}
.pv .bachlist{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.pv .bachlist li{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:12px;background:rgba(10,20,60,.45);border:1px solid rgba(190,215,255,.14)}
.pv .bachlist .gi{font-size:1.3rem;width:26px;text-align:center}
.pv .bachlist b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv .bachlist .stars{color:#ffd24a;letter-spacing:1px}
.pv .bachlist .stars i{font-style:normal;color:rgba(255,210,74,.22)}
.pv .bookpage[data-page=me] .uacts{margin-top:14px}
.pv .bookpage .ufriend{justify-content:center}
.pv .bfriends{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:6px}
.pv .bfriend{display:flex;align-items:center;gap:6px;padding:5px;border-radius:14px;background:rgba(10,20,60,.45);border:1px solid rgba(190,215,255,.14);min-width:0}
.pv .bfwho{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:2px}
.pv .bfwho .av{width:36px;height:36px;flex:none;border-radius:10px;display:grid;place-items:center;font-size:1.4rem;overflow:hidden;background:rgba(121,178,255,.2)}
.pv .bfwho .av img{width:100%;height:100%;object-fit:cover}
.pv .bfwho .nm{min-width:0;display:flex;flex-direction:column}
.pv .bfwho b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv .bfwho small{color:var(--muted);font-size:.74rem}
.pv .bfwho small.on{color:#3ddc84}
.pv .bfriend .acts{display:flex;gap:4px;flex:none}
.pv .bfriend .acts button{padding:5px 9px;font-size:.78rem;min-height:0}
.pv .bsmprog{display:grid;gap:6px;margin-bottom:12px}
.pv .bsmprog .xpbar i{background:linear-gradient(90deg,#ffd24a,#ff9d4d)}
.pv .bsmgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:8px}
.pv .bsmgrid li{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px 8px;border-radius:14px;background:rgba(10,20,60,.5);border:1px solid rgba(255,210,74,.35);text-align:center;min-width:0}
.pv .bsmgrid .pic{position:relative;width:64px;height:64px;display:grid;place-items:center}
.pv .bsmgrid .smimg{width:64px;height:64px;object-fit:contain}
.pv .bsmgrid .cnt{position:absolute;right:-8px;bottom:-4px;padding:1px 7px;border-radius:999px;background:#ffd24a;color:#2a1350;font-weight:900;font-size:.78rem;box-shadow:0 2px 5px rgba(0,0,0,.4)}
.pv .bsmgrid b{font-size:.84rem;overflow-wrap:anywhere}
.pv .bsmgrid code{font-size:.7rem;color:var(--muted)}
.pv .bsmgrid li.miss{border-style:dashed;border-color:rgba(190,215,255,.22);background:rgba(10,20,60,.25)}
.pv .bsmgrid li.miss .smimg{opacity:.18;filter:grayscale(1) brightness(1.4)}
.pv .bsmgrid li.miss .q{position:absolute;inset:0;display:grid;place-items:center;font-family:"Permanent Marker",var(--body);font-size:1.8rem;color:rgba(255,214,150,.75)}
.pv .bsmgrid li.miss b{color:var(--muted);font-weight:600;font-style:italic}
.pv .brectiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.pv .brectiles .rt{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:14px;background:rgba(10,20,60,.5);border:1px solid rgba(190,215,255,.16);text-align:center;min-width:0}
.pv .brectiles .rt span{font-size:1.3rem}
.pv .brectiles .rt b{font-family:var(--pixel);font-size:1.6rem;line-height:1}
.pv .brectiles .rt small{font-size:.7rem;color:var(--muted);overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto;max-width:100%}
.pv .brectiles .rt.has{border-color:rgba(255,122,122,.55);background:rgba(255,122,122,.12)}
.pv .brecstate{margin:12px 0 0;padding:8px 12px;border-radius:12px;background:rgba(10,20,60,.45);font-weight:700}
.pv .breclist{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pv .breclist li{display:flex;gap:10px;padding:8px 10px;border-radius:12px;background:rgba(10,20,60,.45);border-left:3px solid rgba(255,122,122,.6)}
.pv .breclist .ri{font-size:1.2rem}
.pv .breclist div{min-width:0}
.pv .breclist small{display:block;color:var(--muted);font-size:.74rem}
.pv .breclist p{margin:4px 0 0;font-size:.86rem;overflow-wrap:anywhere}
@media (max-width:640px){.pv .ucard.diary{padding:0}
.pv .bookcover{padding:10px 8px 10px 24px;border-radius:12px 16px 16px 12px}
.pv .bookcover::before{inset:5px 5px 5px 18px}
.pv .bookrings{left:4px;width:28px}
.pv .bookpage{height:calc(100dvh - 190px);padding:14px 12px 12px 24px}
.pv .bookpage::before{left:16px}
.pv .bhero{margin:-14px -12px 0 -24px}
.pv .booktabs{position:static;flex-direction:row;gap:4px;margin:0 0 -2px 0;padding-left:4px}
.pv .booktabs button{width:auto;flex:1;height:38px;padding:0 4px;justify-content:center;border-radius:12px 12px 0 0;font-size:1rem;background:linear-gradient(180deg,var(--c),color-mix(in srgb,var(--c) 60%,#1c0d3c))}
.pv .booktabs button[aria-selected=true]{width:auto;flex:1.6;transform:translateY(-3px)}
.pv .booktabs button:hover,.pv .booktabs button:focus-visible{transform:none}
.pv .booktabs button[aria-selected=true] b{position:static;width:auto;height:auto;clip:auto;font-size:.7rem;font-family:var(--pixel);text-transform:uppercase;letter-spacing:.04em}
.pv .bookcover{display:flex;flex-direction:column}
.pv .bookcover .booktabs{order:-1}
.pv .ucard.diary .ux{top:-8px;right:-6px}
.pv .brectiles{grid-template-columns:repeat(3,minmax(0,1fr))}
.pv .bsmgrid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}}
@media (orientation:landscape) and (max-height:540px) and (min-width:560px){.pv .tabs,.pv .status,.pv .legalbar{display:none!important}
.pv .status:has(.offline){display:block!important;padding:0 8px 2px;font-size:.68rem}
.pv header.top{flex-wrap:nowrap;padding:3px 10px;gap:8px;margin-top:3px;border-radius:14px}
.pv .brand{gap:8px;flex:1 1 auto;min-width:0}
.pv .brand .star{width:26px;height:26px}
.pv .brand h1{font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv .brand p{display:none}
.pv #headApp{display:contents}
.pv #headRight{width:auto;margin-left:auto;gap:5px;flex:none;flex-wrap:nowrap}
.pv .ibtn,.pv .meav{width:34px;height:34px;min-height:34px;font-size:.95rem}
.pv .pill.coins{padding:4px 9px;font-size:.88rem}
.pv main{grid-template-columns:clamp(150px,25vw,230px) minmax(0,1fr) clamp(140px,23vw,210px)!important;gap:6px;margin:4px 0 3px}
.pv main>.col,.pv main>.chat{display:flex!important;position:static;transform:none;visibility:visible;width:auto;padding:0;background:none;box-shadow:none;border:0}
.pv #colR{display:flex!important}
.pv main>.col{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;gap:6px;scrollbar-width:none}
.pv main>.col::-webkit-scrollbar{display:none}
.pv main>.col>*,.pv main>#colR>.online,.pv main>#colR>.board{flex:none;min-height:0;height:auto;max-height:none}
.pv main>.col .rlist,.pv main>.col .ulist,.pv main>#colR #posts{overflow:visible;max-height:none}
.pv .glass{border-radius:14px}
.pv .rooms,.pv .online{padding:8px;gap:6px}
.pv .board{padding:8px;gap:6px}
.pv .voice{padding:8px 10px}
.pv .ptitle{font-size:.9rem;gap:6px}
.pv .ptitle .big{width:26px;height:26px}
.pv .roomshead .chev{width:28px;height:28px;font-size:.85rem}
.pv .rlist{gap:5px}
.pv .rlist>li.rbox{padding:2px 4px;border-radius:12px}
.pv .rlist button{padding:7px 8px;font-size:.86rem;min-height:36px;gap:8px;margin-block:1px}
.pv .rlist button.rtoggle{padding:6px;font-size:.62rem;min-height:32px}
.pv .roombtns,.pv .sidebtns{flex-wrap:wrap;gap:4px}
.pv .roombtns button,.pv .sidebtns button{min-height:32px;padding:4px 6px;font-size:.7rem}
.pv .ulist{gap:5px}
.pv .ulist li button{padding:5px 7px;font-size:.8rem;gap:6px;border-radius:11px}
.pv .uav{width:26px;font-size:1.2rem}
.pv .ulist small{font-size:.68rem}
.pv #users .uav .vmark,.pv #users .uav .rbadge{width:15px;height:15px;left:-5px;bottom:-4px}
.pv .chead{padding:6px 10px;gap:8px;align-items:center;flex-wrap:nowrap}
.pv .chead h2{font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv .chead p{display:none}
.pv .chead .acts{flex-wrap:nowrap;gap:4px}
.pv .log{padding:8px 10px;gap:8px}
.pv .m{gap:8px}
.pv .av{width:34px;height:34px;font-size:1.25rem;border-radius:10px}
.pv .bub{padding:6px 10px;border-radius:13px}
.pv .inbar{padding:6px 8px 6px;gap:6px}
.pv .inbar input{padding:8px 12px;border-radius:13px}
.pv .send{width:46px;height:38px}
.pv .inbar .round,.pv .inbar .sq{width:38px;height:38px;min-height:38px}
.pv .callbar{padding:3px 6px 3px 10px;margin:4px 8px 0;gap:6px;flex-wrap:nowrap;border-radius:12px}
.pv .callbar .ct{font-size:.8rem;min-width:0;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden}
.pv .callbar .ct small{display:inline;font-size:.7rem}
.pv .callbar .ibtn,.pv .callbar .hang{height:30px;min-height:30px}
.pv .callbar .ibtn{width:30px}
.pv .callbar button{min-height:30px!important;padding-block:2px!important;font-size:.8rem}
.pv .chead{padding:3px 8px!important;border-bottom-width:1px}
.pv .chead .acts button,.pv .chead .acts .ibtn{width:30px;height:30px;min-height:30px;font-size:.85rem;border-radius:10px}
.pv main>.chat{min-height:0}
.pv .log{min-height:0}
.pv .board .btabs{grid-template-columns:1fr 1fr}
.pv .board .ptitle{font-size:.9rem}
.pv .overlay{padding:6px}
.pv .shopdlg{padding:12px 14px;max-height:calc(100dvh - 12px)}
.pv .dlg,.pv .profframe{max-height:calc(100dvh - 12px)}
.pv .shophead{margin-bottom:8px}
.pv .shophead h3{font-size:1.4rem}
.pv .umenu{top:0!important;max-height:calc(100dvh - 32px)}
.pv .bookpage{height:calc(100dvh - 110px)}
.pv .bookcover{padding-block:8px}
.pv .booktabs{top:12px}
.pv .booktabs button{height:36px}
.pv .cirow{gap:5px}
.pv .ciday{min-height:96px;padding:6px 3px}
.pv .ciday .ci{min-height:36px;font-size:1.5rem}
.pv .ciday .ci .smimg{width:38px;height:38px}
.pv .spraycat{width:60px;height:60px}
.pv .spraywall{height:96px}}
@media (max-width:760px) and (orientation:portrait),(max-width:559px){.pv header.top{padding:8px 10px;gap:6px 10px;margin-top:8px}
.pv .brand{gap:9px}
.pv .brand .star{width:32px;height:32px}
.pv .brand h1{font-size:1.3rem}
.pv .brand p{display:none}
.pv .tabs{margin-block:8px}
.pv .tabs button{padding:10px 6px;min-height:42px}
.pv main{gap:10px;margin-bottom:8px}
.pv .status{display:none}
.pv .status:has(.offline){display:block;padding-bottom:6px}
.pv .rooms.allclosed{flex:none}
.pv .chead h2{font-size:1.3rem}
.pv .composer,.pv .inputrow{gap:6px}
.pv .shopdlg{padding:16px 14px;max-height:calc(100dvh - 16px)}
.pv .dlg,.pv .profframe{max-height:calc(100dvh - 16px)}
.pv .shophead{gap:8px;margin-bottom:10px}
.pv .shophead h3{font-size:1.6rem;min-width:0;overflow-wrap:anywhere}
.pv .umenu{max-height:calc(100dvh - 24px)}
.pv .libbar{flex-wrap:wrap}
.pv .libbar input{flex:1 1 100%;min-width:0}}
@media (max-width:420px){.pv .brand h1{font-size:1.15rem}
.pv .shophead h3{font-size:1.4rem}}
@media (pointer:coarse){.pv .rx{min-height:34px;min-width:44px;padding:4px 10px;font-size:.86rem}
.pv .mact .more,.pv .upf .more{min-height:34px;min-width:44px;font-size:1.15rem}
.pv .upf .who{min-height:34px}
.pv .upf .like{min-height:36px}
.pv .gstar{min-width:40px;min-height:40px;top:2px;right:2px}
.pv .uteam .ttog{min-height:40px}
.pv #boardToggle{min-height:40px}
.pv .ustats button,.pv .ustats span{min-height:34px;display:inline-flex;align-items:center}
.pv .post .more{min-height:36px}
.pv .achtabs button,.pv .btabs button,.pv .libcats button{min-height:38px}
.pv .rlist button{min-height:46px}
.pv .roombtns button,.pv .sidebtns button{min-height:40px}}
.pv .is-app button,.pv .is-app .tabs,.pv .is-app header.top{-webkit-user-select:none;user-select:none}
@media (prefers-reduced-motion:no-preference){.pv .m.fresh{animation:in .25s ease-out}
@keyframes in{from{transform:translateY(6px);opacity:.3}}}
.pv #users .uav .vmark,.pv #users .uav .rbadge{position:absolute;left:-7px;bottom:-5px;width:19px;height:19px;margin:0}
.pv #users li button{gap:8px}
.pv .ubadges{display:flex;justify-content:center;gap:14px;margin:6px 0 2px;position:relative;z-index:1}
.pv .ubadges figure{margin:0;display:grid;justify-items:center;gap:2px}
.pv .ubadges .bigbadge{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.4));transition:transform .2s}
.pv .ubadges .bigbadge:hover{transform:scale(1.12) rotate(-4deg)}
.pv .ubadges figcaption{font-size:.7rem;font-weight:700;color:var(--muted)}
.pv .colorpick{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:6px}
.pv .colorpick button{width:30px;height:30px;border-radius:50%;border:2px solid rgba(255,255,255,.25);padding:0;cursor:pointer}
.pv .colorpick button[aria-pressed="true"]{border-color:#fff;box-shadow:0 0 0 3px rgba(127,220,255,.45);transform:scale(1.1)}
.pv .colorpick.locked button{opacity:.3;cursor:not-allowed}
.pv .colorpick.locked button[aria-pressed="true"]{opacity:1}
.pv .colorhint{margin:0 0 12px;font-size:.8rem}
.pv .colorlock{grid-column:1/-1;padding:10px 12px;border-radius:12px;background:rgba(127,220,255,.1);border:1px dashed rgba(127,220,255,.45);font-size:.85rem}
.pv .sidebtns{display:flex;gap:6px;margin-top:6px}
.pv .sidebtns button{position:relative;flex:1 1 auto;min-width:0;padding:6px 8px;overflow:hidden;text-overflow:ellipsis;border-radius:999px;border:1px solid var(--edge);background:rgba(220,232,255,.06);font:inherit;font-size:.78rem;font-weight:800;color:var(--peach);cursor:pointer;white-space:nowrap}
.pv .sidebtns button:hover{background:rgba(127,220,255,.14)}
.pv .sidebtns .ndot{position:absolute;top:2px;right:4px;width:11px;height:11px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 2px #0b1238}
.pv .updlg,.pv .achdlg{max-width:min(640px,100%);min-width:0}
.pv .upform{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.pv .upform textarea{width:100%;resize:vertical;min-height:70px}
.pv .uprow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pv .upseal{display:flex;align-items:center;gap:7px;font-weight:800;font-size:.86rem;cursor:pointer}
.pv .upseal input{width:18px;height:18px}
.pv .upcount{margin-left:auto;font-size:.76rem;color:var(--muted);font-variant-numeric:tabular-nums}
.pv .upsealinfo{margin:0;font-size:.78rem;color:var(--muted)}
.pv .uplist{display:flex;flex-direction:column;gap:10px;overflow:auto;min-height:120px;padding-right:2px}
.pv .upost{border:1px solid var(--edge);border-radius:16px;padding:12px 14px;background:rgba(10,20,60,.35)}
.pv .upost .uph{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.pv .upost .uph .av{width:38px;height:38px;border-radius:12px;font-size:1.4rem;display:grid;place-items:center;background:rgba(190,215,255,.1);overflow:hidden;flex:none}
.pv .upost .uph .av img{width:100%;height:100%;object-fit:cover}
.pv .upost .uph b{cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv .upost .uph time{margin-left:auto;font-size:.76rem;color:var(--muted);white-space:nowrap}
.pv .upost .upt{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}
.pv .upost .wasseal{display:inline-block;font-size:.72rem;font-weight:800;color:var(--muted);margin-bottom:4px}
.pv .sealbox{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:18px 12px;border-radius:14px;border:2px dashed rgba(255,190,120,.45);background:repeating-linear-gradient(135deg,rgba(255,157,77,.07) 0 12px,rgba(255,157,77,.02) 12px 24px)}
.pv .sealbox .wax{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;background:radial-gradient(circle at 35% 30%,#ff9a6b,#c8371f 70%);box-shadow:0 3px 0 #8f2413,0 6px 14px rgba(0,0,0,.4)}
.pv .sealbox b{font-family:var(--pixel);font-size:1.15rem;color:var(--peach)}
.pv .sealbox .hint{font-size:.86rem;color:var(--muted);overflow-wrap:anywhere}
.pv .upf{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}
.pv .upf .like{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid var(--edge);background:rgba(220,232,255,.06);font-weight:800;cursor:pointer}
.pv .upf .like.on{background:rgba(255,90,110,.2);border-color:rgba(255,120,140,.6)}
.pv .upf .like:disabled{opacity:.6;cursor:default}
.pv .upf .who{border:0;background:none;color:var(--sky);font-weight:700;font-size:.82rem;cursor:pointer;padding:4px 2px;text-decoration:underline;text-underline-offset:3px}
.pv .upf .eye{font-size:.8rem;color:var(--muted)}
.pv .upf .more{margin-left:auto;border:0;background:none;color:var(--muted);font-size:1.1rem;cursor:pointer;padding:2px 8px;border-radius:8px}
.pv .upf .more:hover{background:rgba(190,215,255,.12)}
.pv .upempty{text-align:center;color:var(--muted);padding:26px 8px}
.pv .likers{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow:auto;margin:0;padding:0;list-style:none}
.pv .likers li{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:10px;cursor:pointer}
.pv .likers li:hover{background:rgba(190,215,255,.1)}
.pv .likers .av{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:1.1rem;background:rgba(190,215,255,.1);overflow:hidden}
.pv .likers .av img{width:100%;height:100%;object-fit:cover}
.pv .legalfoot{margin:12px 0 0;text-align:center;font-size:.82rem;color:var(--muted)}
.pv .legaldlg{max-width:min(720px,100%);min-width:0}
.pv .legaltext h1{font-size:1.7rem;margin:.1em 0 .5em;line-height:1.2}
.pv .legaltext h2{font-size:1.25rem;margin:1.2em 0 .4em;line-height:1.25}
.pv .legaltext h3{font-size:1.05rem;margin:1em 0 .3em}
.pv .legaltext p{margin:0 0 .85em}
.pv .legaltext{overflow-wrap:anywhere;overflow:auto;line-height:1.5;font-size:.92rem;padding:4px 4px 8px;min-height:120px;user-select:text}
.pv .mydata{margin-top:6px;border:1px solid var(--edge);border-radius:14px;padding:10px 12px;background:rgba(10,20,60,.3)}
.pv .mydata summary{cursor:pointer;font-weight:800;font-size:.9rem}
.pv .mydata p{margin:8px 0;font-size:.82rem;color:var(--muted)}
.pv .mdrow{display:flex;gap:8px;flex-wrap:wrap}
.pv .mdrow button{flex:1 1 160px}
.pv .mdlinks{text-align:center}
.pv .ghost.danger{color:#ff9aa8;border-color:rgba(255,120,140,.5)}
.pv .achview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:12px;padding:4px;border-radius:14px;background:rgba(10,20,60,.45);border:1px solid var(--edge)}
.pv .achview button{padding:9px 8px;border:0;border-radius:10px;background:none;font:inherit;font-weight:800;font-size:.9rem;color:var(--muted);cursor:pointer}
.pv .achview button[aria-selected="true"]{background:linear-gradient(90deg,#ffb04d,#ff8a4d);color:#2b1400}
.pv .achpane{display:flex;flex-direction:column;min-height:0;min-width:0;flex:1}
.pv .hallcats{margin-bottom:10px}
.pv .podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end;margin-bottom:4px}
.pv .podium button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px 10px;border-radius:16px;border:1px solid var(--edge);background:rgba(10,20,60,.4);font:inherit;color:inherit;cursor:pointer;min-width:0}
.pv .podium button:hover{background:rgba(127,220,255,.1)}
.pv .podium .p1{order:2;padding-top:20px;border-color:rgba(255,210,74,.75);box-shadow:0 0 24px rgba(255,210,74,.14)}
.pv .podium .p2{order:1}
.pv .podium .p3{order:3}
.pv .podium .md{font-size:1.5rem;line-height:1}
.pv .podium .p1 .md{font-size:2rem}
.pv .podium .av{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:1.7rem;background:rgba(190,215,255,.1);overflow:hidden}
.pv .podium .p1 .av{width:60px;height:60px;font-size:2.1rem}
.pv .podium .av img{width:100%;height:100%;object-fit:cover}
.pv .podium b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}
.pv .podium .val{font-family:var(--pixel);font-size:1.1rem;color:#ffd24a}
.pv .hallrow{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border-radius:12px;border:1px solid transparent;background:rgba(10,20,60,.3);font:inherit;color:inherit;cursor:pointer;text-align:left}
.pv .hallrow:hover{background:rgba(127,220,255,.1)}
.pv .hallrow .rk{width:26px;text-align:center;font-family:var(--pixel);font-size:1.05rem;color:var(--muted);flex:none}
.pv .hallrow .av{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:1.1rem;background:rgba(190,215,255,.1);overflow:hidden;flex:none}
.pv .hallrow .av img{width:100%;height:100%;object-fit:cover}
.pv .hallrow b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv .hallrow .val{font-weight:800;color:#ffd24a;white-space:nowrap;font-variant-numeric:tabular-nums}
.pv .hallrow.you,.pv .podium button.you{outline:2px solid var(--sky);outline-offset:-2px}
.pv .hallme{margin-top:6px;padding:9px 12px;border-radius:12px;background:rgba(127,220,255,.1);font-weight:800;font-size:.86rem;text-align:center}
.pv .achlead{margin:-4px 0 10px;color:var(--muted);font-size:.86rem}
.pv .achsum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.pv .achsum div{border:1px solid var(--edge);border-radius:14px;padding:8px 10px;text-align:center;background:rgba(10,20,60,.35)}
.pv .achsum b{display:block;font-family:var(--pixel);font-size:1.5rem;color:#ffd24a;line-height:1.1}
.pv .achsum span{font-size:.72rem;color:var(--muted);font-weight:700}
.pv .achbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.pv .achbar input{flex:1 1 160px;min-width:0}
.pv .achtabs{display:flex;gap:4px;flex-wrap:wrap}
.pv .achtabs button{padding:6px 11px;border-radius:999px;border:1px solid var(--edge);background:rgba(220,232,255,.06);font:inherit;font-size:.78rem;font-weight:800;color:var(--muted);cursor:pointer}
.pv .achtabs button[aria-pressed="true"]{background:linear-gradient(90deg,#ffb04d,#ff8a4d);color:#2b1400;border-color:transparent}
.pv .achlist{display:flex;flex-direction:column;gap:10px;overflow:auto;min-height:140px;padding-right:2px}
.pv .achdlg>*,.pv .updlg>*,.pv .achgame,.pv .achgame .agh,.pv .upost,.pv .upost .uph{min-width:0}
.pv .achgame .agh b{flex:0 1 auto}
.pv .achsum span{display:block;overflow-wrap:anywhere}
.pv .achgame{border:1px solid var(--edge);border-radius:16px;padding:12px;background:rgba(10,20,60,.35)}
.pv .achgame.complete{border-color:rgba(255,210,74,.7);box-shadow:0 0 0 1px rgba(255,210,74,.25),0 0 22px rgba(255,210,74,.12)}
.pv .achgame .agh{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.pv .achgame .agh .gi{font-size:1.5rem;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(190,215,255,.1);flex:none}
.pv .achgame .agh b{font-family:var(--pixel);font-size:1.2rem;letter-spacing:.02em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv .achgame .agh .cnt{margin-left:auto;font-weight:800;font-size:.8rem;color:var(--muted);white-space:nowrap}
.pv .achgame .agh .lk{font-size:.72rem;color:var(--muted)}
.pv .acht{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:7px 0;border-top:1px dashed rgba(190,215,255,.14)}
.pv .acht .tro{grid-row:span 2;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:1.1rem;background:rgba(190,215,255,.08);filter:grayscale(1);opacity:.6;image-rendering:pixelated}
.pv .acht.done .tro{filter:none;opacity:1;background:linear-gradient(160deg,#ffe27a,#ffb02e);box-shadow:0 2px 0 #b9770a}
.pv .acht .tn{font-weight:800;font-size:.9rem;min-width:0}
.pv .acht .tn small{display:block;font-weight:600;color:var(--muted);font-size:.78rem}
.pv .acht .rw{grid-row:span 2;font-weight:800;font-size:.84rem;color:#ffd24a;white-space:nowrap;display:flex;align-items:center;gap:4px}
.pv .acht.done .rw{color:#7cf0b4}
.pv .acht .pb{grid-column:2;height:7px;border-radius:99px;background:rgba(190,215,255,.12);overflow:hidden;position:relative}
.pv .acht .pb i{position:absolute;inset:0 auto 0 0;border-radius:99px;background:linear-gradient(90deg,#7fdcff,#7cf0b4)}
.pv .acht.done .pb i{background:linear-gradient(90deg,#ffd24a,#ffb02e)}
.pv .achbonus{display:flex;align-items:center;gap:8px;margin-top:8px;padding:7px 10px;border-radius:11px;background:rgba(255,210,74,.08);font-size:.82rem;font-weight:800;color:var(--muted)}
.pv .achbonus.done{background:rgba(255,210,74,.2);color:#ffd24a}
.pv .achbonus span:last-child{margin-left:auto;display:flex;align-items:center;gap:4px;color:#ffd24a}
.pv .ustats{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:8px 0 0}
.pv .ustats button,.pv .ustats span{border:1px solid var(--edge);background:rgba(220,232,255,.06);border-radius:999px;padding:4px 11px;font:inherit;font-size:.78rem;font-weight:800;color:var(--ink)}
.pv .ustats button{cursor:pointer}
.pv .ustats button:hover{background:rgba(127,220,255,.14)}
@media (max-width:480px){.pv .achsum b{font-size:1.2rem}
.pv .acht{grid-template-columns:30px minmax(0,1fr) auto}
.pv .acht .tro{width:30px;height:30px}}
.pv .bedit{display:flex;flex-direction:column;gap:6px;text-align:left;padding:12px;border-radius:14px;background:rgba(255,157,77,.12);border:1px solid rgba(255,157,77,.5);margin-bottom:14px}
.pv .bedit label{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pv .bedit .bbtns{display:flex;gap:8px;flex-wrap:wrap}
.pv .bedit .bbtns .cta{flex:1}
.pv .petbuddy{position:fixed;z-index:60;touch-action:none;user-select:none}
.pv .petbuddy .pbpic{background:none;border:0;padding:4px;line-height:1;cursor:grab;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5));animation:pbbob 2.6s ease-in-out infinite;touch-action:none}
.pv .petbuddy.dragging .pbpic{cursor:grabbing;animation:none;transform:scale(1.12)}
.pv .petbuddy .pbpic:focus-visible{outline:2px solid var(--peach);border-radius:12px}
.pv .petbuddy .pbtip{position:absolute;left:0;top:100%;min-width:170px;max-width:60vw;padding:10px 12px;border-radius:14px;background:rgba(10,16,48,.96);border:1px solid var(--edge);display:flex;flex-direction:column;gap:6px;font-size:.85rem}
.pv .petbuddy .pbtip[hidden]{display:none}
.pv .petbuddy .pbtip small{color:var(--muted)}
.pv .petbuddy .pbhide{padding:6px 10px;font-size:.8rem}
@keyframes pbbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.pv .petbuddy .pbpic{animation:none}}
.pv .upimgrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0}
.pv .upimginfo{font-size:.8rem;color:var(--muted)}
.pv .upimgprev{display:flex;align-items:center;gap:10px;flex-basis:100%}
.pv .upimgprev img{max-width:120px;max-height:90px;border-radius:10px;border:1px solid var(--edge);object-fit:cover}
.pv .upost .upimg{display:block;max-width:min(360px,100%);max-height:300px;border-radius:12px;border:1px solid var(--edge);margin-top:8px;cursor:zoom-in;background:rgba(10,20,60,.4)}
.pv .eventimg,.pv .post .pimg{display:block;max-width:100%;max-height:220px;object-fit:cover;border-radius:10px;border:1px solid var(--edge);margin-top:8px;cursor:zoom-in;background:rgba(10,20,60,.4)}
.pv .eventimg[hidden]{display:none}
.pv div.umhead{cursor:default}
.pv div.umhead:hover{background:none}
.pv .bverify{text-align:left;margin:0 0 14px;font-size:.88rem}
.pv .bverify .vgo{width:100%}
.pv .bverify details{padding:8px 12px;border-radius:12px;background:rgba(220,232,255,.06);border:1px solid var(--edge)}
.pv .bverify summary{cursor:pointer;color:var(--muted);font-weight:700}
.pv .bverify ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.pv .bverify li.ok{color:#8dffb0}
.pv .bverify li.no{color:var(--muted)}
.pv .bverify .vpend{margin:0;padding:10px 12px;border-radius:12px;background:rgba(255,157,77,.14);border:1px solid rgba(255,157,77,.5)}
.pv .bverify .vwhy{margin:8px 0 0;color:var(--muted)}
/* Haustiere-Knopf: eigene Zeile unter Posts und Erfolge */
.pv .sidebtns{flex-wrap:wrap}
.pv .sidebtns #btnPets{flex:1 1 100%}

/* Animierte Chat-Smileys (Eule, Schlange, Waschbär) */
.pv .fxbox{position:relative;margin-top:2px;width:min(100%,250px);height:140px;background:transparent;border:0}
.pv .fxbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.pv .fxcap{position:absolute;right:8px;bottom:6px;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:.7rem;pointer-events:none;opacity:.8}
.pv img.smiley[src$=".png"]{animation:pvsmbob 1.8s ease-in-out infinite;transform-origin:50% 100%}
@keyframes pvsmbob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-3px) rotate(3deg)}}
@media (prefers-reduced-motion:reduce){.pv img.smiley[src$=".png"]{animation:none}}

/* Affe: läuft einmal durch die Nachricht (Banane mit Text) */
.pv .fxmonkey{position:relative;height:84px;margin-top:2px;overflow:hidden;max-width:420px}
.pv .fxmonkey img{position:absolute;left:0;bottom:0;height:72px;width:auto}
.pv .fxmonkey .fxban{position:absolute;left:62px;bottom:18px;max-width:calc(100% - 70px);padding:3px 10px;border-radius:12px;background:#ffe27a;color:#3a2a00;font-weight:800;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 0 rgba(0,0,0,.25)}
.pv .fxmonkey.live img{animation:pvmonk 6s ease-in-out}
.pv .fxmonkey.live .fxban{animation:pvmonkb 6s ease-in-out}
@keyframes pvmonk{0%{transform:translateX(120%) scaleX(-1)}35%{transform:translateX(0) scaleX(-1)}65%{transform:translateX(0)}100%{transform:translateX(0)}}
@keyframes pvmonkb{0%,30%{opacity:0;transform:scale(.6)}45%{opacity:1;transform:scale(1.1)}55%,100%{opacity:1;transform:scale(1)}}

.pv .ptag.blog{background:rgba(255,120,180,.2);border-color:rgba(255,120,180,.7)}

/* Profilkarte (Klick auf Namen), Reaktionen, Posts-Feed */
.pv .pcardbox{max-width:460px;position:relative}
.pv .pcardbox .pcx{position:absolute;top:10px;right:10px;padding:4px 10px}
.pv .pch{display:flex;gap:12px;align-items:center;margin-bottom:8px;padding-right:64px}
.pv .pcav{width:72px;height:72px;border-radius:50%;overflow:hidden;flex:none;display:grid;place-items:center;font-size:2rem;border:2px solid var(--edge);padding:0;cursor:zoom-in}
.pv .pcav img{width:100%;height:100%;object-fit:cover}
.pv .pcn{min-width:0}.pv .pcname{font-family:var(--display);font-size:1.15rem;word-break:break-word}.pv .pcsub{font-size:.82rem;opacity:.75}.pv .pclv{font-size:.82rem;color:#ffd24a;font-weight:700}
.pv .pcbio{margin:8px 0;font-size:.92rem;white-space:pre-wrap;word-break:break-word}.pv .pcbio.empty{opacity:.55;font-style:italic}
.pv .pcchips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.pv .pcchips span{padding:3px 10px;border-radius:99px;background:rgba(255,255,255,.08);font-size:.8rem}
.pv .pcact,.pv .pcrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pv .pcmod{margin-top:14px;padding-top:10px;border-top:1px dashed var(--edge)}.pv .pcmod h5{margin:0;font-size:.85rem;opacity:.8}
.pv .pcard .bad,.pv .pcmod .bad{background:rgba(220,60,60,.25);border:1px solid rgba(255,120,120,.6);color:#ffd0d0;border-radius:12px;padding:8px 12px;cursor:pointer}
.pv .pcsel{border-radius:12px;padding:8px 10px;background:rgba(10,20,60,.6);color:inherit;border:1px solid var(--edge)}
.pv .reacts{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.pv .rc{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:99px;border:1px solid var(--edge);background:rgba(10,20,60,.4);font-size:.9rem;cursor:pointer;line-height:1.5}
.pv .rc.mine{border-color:#ff9d4d;background:rgba(255,157,77,.2)}.pv .rc i{font-style:normal;font-size:.75rem;font-weight:800}
.pv .rc .rimg,.pv .reactpop .rimg{width:22px;height:22px;object-fit:contain;vertical-align:middle}
.pv .reactbtn{font-size:1rem;line-height:1;padding:0 8px 3px}
.pv .reactpop{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;max-width:300px;padding:6px}
.pv .reactpop button{font-size:1.3rem;padding:4px;border-radius:10px;background:transparent;border:0;cursor:pointer;display:grid;place-items:center}
.pv .reactpop button:hover{background:rgba(255,255,255,.15)}
.pv .upfeed{display:flex;gap:6px;margin:6px 0}.pv .upfeed button{padding:5px 12px;border-radius:99px;border:1px solid var(--edge);background:transparent;color:inherit;cursor:pointer}.pv .upfeed button.on{background:var(--hot,#ff9d4d);color:#1b1000;font-weight:800}
.pv .pcsel{width:auto}

/* Admin-/Mod-/Verifiziert-Zeichen klein, direkt hinter dem Namen (Reihenfolge: Name, Rolle, Haken) */
.pv .un .rbadge,.pv .un .vmark{width:14px;height:14px}
.pv .pcname+.rbadge,.pv .pcname+.vmark{margin-left:5px}
.pv #users .uav .av{width:32px!important;height:32px!important;min-width:32px;overflow:hidden;display:grid;place-items:center}.pv #users .uav .av .avl{font-size:1rem}
.pv #users .un{display:flex;align-items:center;gap:0}.pv #users .un .unn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv #users .un img{flex:none}

/* Fenster im Chat-Design: Blog/Update/Turnier/Event/Regelwerk, antippbare Pinnwand-Karten, Bild-Umfragen */
.pv .gdlg{max-width:620px;width:100%;max-height:calc(100dvh - 24px);overflow:auto}
.pv .gbody{padding:4px 2px 10px}
.pv .gmeta{font-size:.8rem;opacity:.7;margin-bottom:8px}
.pv .gtext{white-space:pre-wrap;word-break:break-word;line-height:1.55;margin:8px 0}
.pv .gtext a{color:#7fdcff}
.pv .ghero{width:100%;max-height:300px;object-fit:cover;border-radius:14px;margin:4px 0 8px;cursor:zoom-in}
.pv .ggal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:12px 0}
.pv .ggal img{width:100%;height:130px;object-fit:cover;border-radius:12px;cursor:zoom-in;border:1px solid var(--edge)}
.pv .gimgw{position:relative;display:block}.pv .gimgw button{position:absolute;top:4px;right:4px;border:0;border-radius:50%;width:24px;height:24px;background:rgba(0,0,0,.7);color:#fff;cursor:pointer}
.pv .gta{width:100%;box-sizing:border-box;border-radius:12px;padding:10px;background:rgba(10,20,60,.55);color:inherit;border:1px solid var(--edge);font:inherit;resize:vertical}
.pv .grow{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pv .gbody ol{padding-left:22px;line-height:1.6}
.pv .post.tap,.pv .bevent.tap{cursor:pointer}
.pv .post.tap:hover,.pv .bevent.tap:hover{border-color:#ff9d4d}
.pv .post .plink{display:inline-block;margin-top:6px;background:none;border:0;color:#7fdcff;font-weight:800;cursor:pointer;padding:0}
.pv .pollhero{width:100%;max-height:160px;object-fit:cover;border-radius:10px;margin:4px 0 8px;cursor:zoom-in}
.pv .imgpoll{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-top:6px}
.pv .imgpoll .iopt{position:relative;display:flex;flex-direction:column;gap:4px;padding:6px;border-radius:12px;border:1px solid var(--edge);background:rgba(10,20,60,.4);color:inherit;text-align:center;cursor:pointer;overflow:hidden}
.pv .imgpoll div.iopt{cursor:default}
.pv .imgpoll .iopt img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;cursor:zoom-in}
.pv .imgpoll .iopt.mine{border-color:#ff9d4d;background:rgba(255,157,77,.18)}
.pv .imgpoll .ilab{font-size:.8rem;font-weight:700;word-break:break-word}
.pv .imgpoll .ivote{font-size:.75rem;color:#ffd24a;font-weight:800}
.pv .imgpoll .ibar{position:absolute;left:0;bottom:0;height:4px;background:#ff9d4d}
.pv .imgpoll .pc{font-style:normal;font-weight:800;font-size:.85rem}

/* Top Spiele + Raum-Verwaltung */
.pv .topgames{padding:12px 16px;flex:0 0 auto}
.pv .topgames h3{margin:0 0 8px;font-size:.95rem}
.pv .topgames ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pv .topgames .tg{display:grid;grid-template-columns:auto auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:inherit;text-decoration:none;cursor:pointer}
.pv .topgames .tg:hover{background:rgba(255,255,255,.1)}
.pv .topgames .tgm{grid-row:1/3;font-size:1.3rem}
.pv .topgames .tg i{grid-row:1/3;opacity:.8}
.pv .topgames .tg b{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv .topgames .tg small{opacity:.65;font-size:.75rem}
.pv .readmin{margin:10px 0;padding:10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.pv .readmin .rlbl{font-size:.8rem;opacity:.7;margin-bottom:6px}
.pv .readmin .rarow{display:flex;flex-wrap:wrap;gap:6px}
.pv .readmin .danger{color:#ff8a8a;border-color:rgba(255,100,100,.4)}

/* Vorhören der Sprachnachricht + Mic/Call im Eingabefeld */
.pv .recprev{display:flex;align-items:center;gap:10px;margin:0 14px 6px;padding:8px 8px 8px 14px;border-radius:18px;background:rgba(80,160,255,.10);border:1px solid rgba(120,180,255,.5)}
.pv .recprev .rphint{font-size:.8rem;color:var(--muted);white-space:nowrap}
.pv .recprev audio{flex:1;min-width:0;height:36px}
.pv .recprev .ghost{width:40px;height:40px;padding:0;justify-content:center;border-radius:12px}
.pv .vfail{font-size:.8rem;margin-left:8px}
@media (max-width:520px){.pv .recprev .rphint{display:none}}

/* Ganzer Shop (Chat-Design, Kästchen je Bereich) */
.pv .shopfull{max-width:1040px}
.pv .shopfull .sftop{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.pv .sfcard,.pv .sfbox{border-radius:18px;border:1px solid var(--edge);background:rgba(10,20,60,.35);padding:14px}
.pv .sfcard h4,.pv .sfbox h4{margin:0 0 8px;font-size:1rem;display:flex;align-items:center;gap:8px}
.pv .sfcard p{margin:0 0 8px;color:var(--muted);font-size:.85rem}
.pv .sfcard input{width:100%;padding:10px 14px;border-radius:14px}
.pv .sfrow{display:flex;gap:8px}
.pv .sfrow input{flex:1;min-width:0}
.pv .sfchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pv .sfchips button{padding:6px 12px;border-radius:999px;border:1px solid var(--edge);background:rgba(255,255,255,.05);color:inherit;cursor:pointer;font-size:.82rem}
.pv .sfchips button[aria-pressed=true]{background:linear-gradient(135deg,#ff9d4d,#ff7a59);color:#1a1030;border-color:transparent;font-weight:700}
.pv .sfbody{overflow:auto;display:flex;flex-direction:column;gap:12px;min-height:0;padding-right:4px}
.pv .sfbox h4 small{margin-left:auto;opacity:.6;font-weight:400}
.pv .sfbox .sfgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.pv .sfbox .sfsub{grid-column:1/-1;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:4px}
@media (max-width:720px){.pv .shopfull .sftop{grid-template-columns:1fr}.pv .sfbox .sfgrid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}

/* Animierte Smileys in Nachrichten kleiner, Reaktionen einen Tick größer */
.pv .m .txt img.smiley,.pv .txt img.smiley{height:32px;width:auto}
.pv .rc .rimg,.pv .reactpop .rimg{width:26px;height:26px}
.pv .rc{padding:1px 9px}

/* Info: Was können die animierten Smileys */
.pv .fxlist{display:flex;flex-direction:column;gap:10px}
.pv .fxrow{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:10px 12px;border-radius:16px;border:1px solid var(--edge);background:rgba(10,20,60,.35)}
.pv .fxrow.own{border-color:rgba(62,224,143,.45)}
.pv .fxpic{width:64px;height:64px;object-fit:contain}
.pv .fxtxt b{display:block;font-size:1rem}
.pv .fxtxt code{display:inline-block;margin:2px 0 4px;padding:1px 8px;border-radius:8px;background:rgba(255,255,255,.08);font-size:.85rem}
.pv .fxtxt p{margin:0 0 4px;font-size:.85rem;color:var(--muted)}
.pv .fxst{font-size:.78rem}
.pv .fxrow button{padding:8px 12px;white-space:nowrap}
@media (max-width:560px){.pv .fxrow{grid-template-columns:48px 1fr}.pv .fxpic{width:48px;height:48px}.pv .fxrow button{grid-column:1/-1}}

/* Bann-Fenster */
.pv .banDlg label,.pv .banNote label{display:block;margin:12px 0 4px;font-size:.85rem;color:var(--muted)}
.pv .banDlg textarea,.pv .banDlg select{width:100%}
.pv .banDlg .grow{display:flex;gap:8px;margin-top:12px}
.pv .banDlg .err{color:#ff8a8a;min-height:1.2em;margin:6px 0 0}
.pv .banNote .cta{margin-top:12px}

/* Check-in: echte Bilder (transparent) statt Icons */
.pv .ciimg{width:58px;height:58px;object-fit:contain;display:block;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35));user-select:none}
.pv .ciimg.rect{width:74px;height:52px;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.4);filter:none}
.pv .ciimg.mini{display:inline-block;width:26px;height:26px;vertical-align:middle;filter:none}
.pv .ciday.big .ciimg{width:76px;height:76px}
.pv .ciday.big .ciimg.rect{width:88px;height:62px}
.pv .ciday .ci .smimg{width:58px;height:58px}
.pv .cigot{display:inline-flex;vertical-align:middle;margin-right:10px}
.pv .cigot .ciimg{width:54px;height:54px}
.pv .cigot .ciimg.rect{width:76px;height:54px}
.pv .cigot .smimg{width:54px;height:54px;object-fit:contain}
@media (max-width:720px){.pv .ciimg{width:44px;height:44px}.pv .ciimg.rect{width:56px;height:40px}.pv .ciday.big .ciimg{width:56px;height:56px}.pv .ciday.big .ciimg.rect{width:64px;height:46px}}
.pv .petimg{display:block;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35));user-select:none}
.pv .petgrid button .petimg.sm{width:34px;height:34px;margin:0 auto;filter:none}

/* Befehls-Animationen im Chat kleiner */
.pv .fxbox{width:min(100%,190px);height:106px}
.pv .fxmonkey{height:64px;max-width:340px}
.pv .fxmonkey img{height:54px}
.pv .fxmonkey .fxban{left:48px;bottom:12px;max-width:calc(100% - 56px);font-size:.78rem;padding:2px 9px}
.pv .spraybox{max-width:400px}
.pv .spraycat{width:72px;height:72px}
.pv .spraywall{height:104px}
@media (max-width:520px){.pv .spraycat{width:54px;height:54px}.pv .spraywall{height:88px}}

/* Smiley-Zauber (linke Spalte) */
.pv .fxmagic{padding:12px 16px;flex:0 0 auto}
.pv .fxmagic h3{margin:0 0 8px;font-size:.95rem;display:flex;align-items:center;gap:8px}
.pv .fxmagic h3 .ibtn{margin-left:auto;border:0;background:none;cursor:pointer;font-size:1rem;padding:2px 6px;border-radius:8px}
.pv .fxgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.pv .fxcell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 6px;border-radius:14px;border:1px solid var(--edge);background:rgba(10,20,60,.35);color:inherit;cursor:pointer}
.pv .fxcell:hover{background:rgba(255,255,255,.1)}
.pv .fxcell img{width:40px;height:40px;object-fit:contain}
.pv .fxcell code{font-size:.7rem;opacity:.85}
.pv .fxcell.own{border-color:rgba(62,224,143,.5)}
.pv .fxcell.lock img{opacity:.4;filter:grayscale(.7)}
.pv .fxcell.lock::after{content:"🔒";font-size:.65rem;position:absolute}
.pv .fxcell{position:relative}
.pv .fxcell.lock::after{top:4px;right:6px}
.pv .fxgrid{grid-template-columns:repeat(6,1fr);gap:4px}
.pv .fxcell{padding:6px 0}
.pv .fxcell img{width:32px;height:32px}
.pv .fxcell code{display:none}
.pv .fxmagic{padding:10px 14px}
/* Befehls-Animationen (Eule, Schlange, Waschbär) so klein wie ein animierter Smiley in der Nachricht */
.pv .fxbox{width:min(100%,150px);height:64px;margin-top:0}
.pv .fxmonkey{height:44px;max-width:260px}
.pv .fxmonkey img{height:36px}
.pv .fxmonkey .fxban{left:34px;bottom:8px;max-width:calc(100% - 40px);font-size:.72rem;padding:1px 8px}
@media (max-width:560px){.pv .fxbox{width:min(100%,130px);height:56px}.pv .spraybox{max-width:300px}}
/* Größeres Layout auf großen Bildschirmen: breiter, breitere Seitenspalten, etwas größere Schrift */
@media (min-width:1200px){
  html:has(.pv){font-size:17px}
  .pv .wrap{max-width:1760px}
  .pv main{grid-template-columns:340px minmax(0,1fr) 310px}
  .pv .m .txt{font-size:1.02rem}
}
@media (min-width:1700px){
  html:has(.pv){font-size:18px}
  .pv .wrap{max-width:1920px}
  .pv main{grid-template-columns:380px minmax(0,1fr) 340px}
}
/* Von → An über Befehls-Animationen */
.pv .fxwho{display:inline-block;margin:0 0 3px;padding:2px 10px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid var(--edge);font-size:.78rem;font-weight:800;color:var(--peach)}

/* Spiel im Chat-Fenster (Call bleibt aktiv) */
.pv .gameov{position:fixed;inset:0;z-index:4000;display:flex;flex-direction:column;background:#05081f}
.pv .gobar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:rgba(14,21,64,.96);border-bottom:1px solid var(--edge);flex:0 0 auto}
.pv .gobar b{font-family:var(--pixel);font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pv .gocall{margin-left:auto;display:flex;align-items:center;gap:8px;min-width:0}
.pv .gocall span{font-size:.82rem;font-weight:800;color:var(--mint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv .gocall .hang{padding:6px 12px;border-radius:999px;border:0;background:var(--red);color:#fff;font-weight:800;cursor:pointer}
.pv .gameov iframe{flex:1;width:100%;border:0;background:#000;min-height:0}
@media (max-width:640px){.pv .gobar{flex-wrap:wrap}.pv .gocall{margin-left:0;width:100%}}

.pv .upaud{display:flex;flex-direction:column;gap:6px;font-size:.84rem}
.pv .upaud label[for]{font-weight:800}
.pv .upaud select{padding:7px 10px;border-radius:10px;border:1px solid var(--line,rgba(255,255,255,.2));background:var(--panel,rgba(0,0,0,.25));color:inherit;font:inherit}
.pv .upaudlist{display:flex;flex-wrap:wrap;gap:6px 14px;max-height:130px;overflow:auto;padding:6px 2px}
.pv .upaudf{display:flex;align-items:center;gap:6px;cursor:pointer;font-weight:700}
.pv .upaudf input{width:16px;height:16px}
.pv .upf .cmbtn{background:none;border:0;color:inherit;font:inherit;font-weight:800;cursor:pointer;padding:4px 6px;border-radius:8px}
.pv .upf .cmbtn:hover,.pv .upf .cmbtn:focus-visible{background:rgba(255,255,255,.1)}
.pv .upcm{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:8px}
.pv .cmlist{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow:auto}
.pv .cm{display:flex;gap:8px;align-items:flex-start}
.pv .cm .av{width:28px;height:28px;border-radius:50%;flex:none;overflow:hidden;display:grid;place-items:center;font-size:.8rem}
.pv .cm .av img{width:100%;height:100%;object-fit:cover}
.pv .cmb{flex:1;min-width:0;font-size:.88rem;overflow-wrap:anywhere}
.pv .cmb time{font-size:.72rem;color:var(--muted)}
.pv .cmdel{background:none;border:0;cursor:pointer;opacity:.6;color:inherit}
.pv .cmdel:hover{opacity:1}
.pv .cmform{display:flex;gap:8px}
.pv .cmform input{flex:1;min-width:0;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.2);color:inherit;font:inherit}
