/* 증시 광장(2026-10-31) */
.pz-lobby{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;margin-top:20px}
.pz-rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pz-room{display:flex;flex-direction:column;min-height:250px;padding:22px;color:#fff;border-radius:16px;background:linear-gradient(160deg,#20263f,#0f1224);box-shadow:0 12px 30px -16px rgba(10,12,30,.7)}
.pz-room.is-open{background:radial-gradient(130% 130% at 0% 0%,#e4161c 0%,#b80a10 48%,#7d0509 100%)}
.pz-room[data-room=us].is-open{background:radial-gradient(130% 130% at 0% 0%,#2f6fe0 0%,#1b4cb0 50%,#102d70 100%)}
.pz-room-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pz-room h2{margin:0;font:800 24px/1.2 var(--sans);letter-spacing:-.03em;color:#fff}
.pz-badge{display:inline-flex;align-items:center;gap:6px;flex:none;padding:6px 10px;border-radius:99px;background:rgba(0,0,0,.28);font:700 12.5px/1 var(--sans)}
.pz-badge i{width:8px;height:8px;border-radius:50%;background:#8b90a5}
.is-open .pz-badge i{background:#39e58a;animation:pzLive 1.6s ease-out infinite}
@keyframes pzLive{0%{box-shadow:0 0 0 0 rgba(57,229,138,.7)}100%{box-shadow:0 0 0 8px rgba(57,229,138,0)}}
.pz-room-desc{margin:14px 0 0;font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.82)}
.pz-room-time{margin:12px 0 0;font:700 15px/1.4 var(--sans);color:#ffd84d}
.pz-room-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:18px}
.pz-count{font-size:14px;color:rgba(255,255,255,.85)}.pz-count b{font-size:22px;font-weight:800;color:#fff;margin-right:2px}
.pz-enter{height:44px;padding:0 18px;border:0;border-radius:11px;background:#fff;color:#111;font:800 15px/1 var(--sans);cursor:pointer;box-shadow:0 6px 16px -8px rgba(0,0,0,.6);transition:transform .15s}
.pz-enter:hover{transform:translateY(-2px)}.pz-enter:disabled{opacity:.6;cursor:wait;transform:none}
.pz-me{padding:20px;border:1px solid var(--hair);border-radius:16px;background:var(--panel)}
.pz-me h2{margin:0 0 14px;font:800 17px/1.2 var(--sans);color:var(--ink)}
.pz-kinds{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pz-kind{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px 10px;border:2px solid var(--hair);border-radius:13px;background:transparent;color:var(--ink);cursor:pointer;font:700 14px/1 var(--sans)}
.pz-kind svg{width:62px;height:62px}
.pz-kind[aria-checked=true]{border-color:var(--red);background:var(--red-soft)}
.pz-nick{margin:14px 0 0;font-size:14px;line-height:1.7;color:var(--ink-2)}.pz-nick b{color:var(--ink)}
.pz-nick button{display:block;margin-top:6px;padding:0;border:0;background:none;color:var(--ink-2);font:600 13px/1.4 var(--sans);text-decoration:underline;cursor:pointer}
.pz-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:32px}
.pz-info h2{margin:0 0 12px;font:800 19px/1.3 var(--sans);color:var(--ink)}
.pz-info h3{margin:14px 0 4px;font:700 15px/1.4 var(--sans);color:var(--ink)}
.pz-info p,.pz-info li{font-size:14.5px;line-height:1.7;color:var(--ink-2)}.pz-info ul{margin:0;padding-left:18px}.pz-info li{margin-bottom:6px}
@media (max-width:1000px){.pz-lobby{grid-template-columns:1fr}.pz-kinds{grid-template-columns:repeat(2,120px)}}
@media (max-width:720px){.pz-rooms,.pz-info{grid-template-columns:1fr}.pz-room{min-height:220px}}

/* 광장 안 */
body.pz-on{overflow:hidden}
.pz-stage{position:fixed;left:0;top:0;width:100%;height:100vh;height:100dvh;z-index:2000;overflow:hidden;background:linear-gradient(#1b2146,#0b0d1e);color:#fff;font-family:var(--sans);overscroll-behavior:none}
.pz-stage[hidden]{display:none}
.pz-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}
.pz-canvas:active{cursor:grabbing}
.pz-labels{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.pz-label{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:4px;width:0;will-change:transform}
.pz-bubble{position:relative;width:max-content;max-width:210px;padding:7px 11px;border-radius:13px;background:#fff;color:#16161a;font-size:13.5px;line-height:1.35;overflow-wrap:anywhere;text-align:center;box-shadow:0 5px 16px -6px rgba(0,0,0,.55);animation:pzPop .28s cubic-bezier(.2,1.5,.4,1)}
.pz-bubble::after{content:"";position:absolute;left:50%;bottom:-5px;margin-left:-5px;border:5px solid transparent;border-bottom:0;border-top-color:#fff}
.pz-bubble.emo{padding:3px 7px;font-size:27px;background:none;box-shadow:none}.pz-bubble.emo::after{display:none}
@keyframes pzPop{from{transform:scale(.6);opacity:0}}
.pz-tag{width:max-content;padding:3px 8px;border:0;border-radius:99px;background:rgba(12,14,28,.62);color:#fff;font:600 11.5px/1.25 var(--sans);cursor:pointer;pointer-events:auto;white-space:nowrap}
.pz-label.me .pz-tag{background:#d40f14;cursor:default;pointer-events:none}
.pz-chip{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 13px;border:0;border-radius:99px;background:rgba(12,14,28,.68);color:#fff;font:700 13px/1 var(--sans);text-decoration:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);white-space:nowrap}
button.pz-chip{cursor:pointer}a.pz-chip:hover{color:#ffd84d}
.pz-top{position:absolute;left:12px;right:12px;top:calc(12px + env(safe-area-inset-top));display:flex;align-items:center;gap:8px;pointer-events:none}
.pz-top>*{pointer-events:auto}.pz-top-r{display:flex;gap:8px;margin-left:auto}
.pz-where b{font-weight:800}.pz-where span{font-weight:600;color:#ffd84d;overflow:hidden;text-overflow:ellipsis}
.pz-hint{position:absolute;left:50%;top:calc(60px + env(safe-area-inset-top));transform:translateX(-50%);margin:0;padding:7px 13px;border-radius:99px;background:rgba(12,14,28,.55);font-size:12.5px;line-height:1.3;white-space:nowrap;pointer-events:none;transition:opacity .6s}
.pz-hint.off{opacity:0}
.pz-alone{position:absolute;right:12px;top:calc(60px + env(safe-area-inset-top));padding:8px 12px;border-radius:12px;background:rgba(12,14,28,.68);font-size:12.5px}
.pz-alone[hidden]{display:none}
.pz-alone button{margin-left:4px;padding:0;border:0;background:none;color:#ffd84d;font:700 12.5px/1 var(--sans);text-decoration:underline;cursor:pointer}
.pz-chat{position:absolute;left:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:min(390px,calc(100% - 24px));display:flex;flex-direction:column;gap:7px;pointer-events:none}
.pz-log{max-height:min(32vh,260px);overflow-y:auto;padding:9px 11px;border-radius:13px;background:rgba(12,14,28,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:13.5px;line-height:1.5;pointer-events:auto;scrollbar-width:thin;overscroll-behavior:contain}
.pz-log:empty{display:none}
.pz-row{margin:0 0 3px;overflow-wrap:anywhere}.pz-row:last-child{margin-bottom:0}
.pz-row button{padding:0;border:0;background:none;font:700 13.5px/1.5 var(--sans);cursor:pointer;margin-right:6px}
.pz-row .bull{color:#ff9c86}.pz-row .bear{color:#9cc0ff}
.pz-sys{font-size:12px;color:rgba(255,255,255,.62)}
.pz-notice{margin:0;padding:6px 11px;border-radius:9px;background:#b80a10;font-size:12.5px;pointer-events:none}
.pz-notice[hidden]{display:none}
.pz-emotes{display:flex;gap:6px;pointer-events:auto}
.pz-emotes button{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 10px;border:0;border-radius:99px;background:rgba(12,14,28,.68);color:#fff;font:700 12.5px/1 var(--sans);cursor:pointer;transition:transform .12s}
.pz-emotes button:hover{transform:translateY(-2px)}
.pz-form{display:flex;gap:6px;pointer-events:auto}
.pz-form input{flex:1;min-width:0;height:42px;padding:0 13px;border:1px solid rgba(255,255,255,.22);border-radius:11px;background:rgba(12,14,28,.78);color:#fff;font:500 16px/1 var(--sans);outline:none}
.pz-form input:focus{border-color:#ffd84d}.pz-form input::placeholder{color:rgba(255,255,255,.55)}
.pz-form button{flex:none;height:42px;padding:0 15px;border:0;border-radius:11px;background:#d40f14;color:#fff;font:800 14px/1 var(--sans);cursor:pointer}
.pz-menu{position:absolute;z-index:3;width:172px;padding:8px;border-radius:12px;background:#fff;color:#16161a;box-shadow:0 12px 30px -10px rgba(0,0,0,.6)}
.pz-menu[hidden]{display:none}
.pz-menu p{margin:2px 6px 7px;font:800 13px/1.3 var(--sans)}
.pz-menu button{display:block;width:100%;padding:8px 6px;border:0;border-radius:7px;background:none;color:#16161a;font:600 13.5px/1.2 var(--sans);text-align:left;cursor:pointer}
.pz-menu button:hover{background:#f0f0f2}.pz-menu #pzReport{color:#b80a10}
.pz-stage.nogl .pz-chat{left:50%;transform:translateX(-50%);top:70px;bottom:calc(12px + env(safe-area-inset-bottom));justify-content:flex-end}.pz-stage.nogl .pz-log{max-height:none;flex:1}.pz-stage.nogl .pz-hint{display:none}
.pz-over{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px;background:rgba(8,10,22,.82);text-align:center;font-size:16px}
.pz-over .pz-enter{min-width:150px}
@media (max-width:640px){
  .pz-top{left:8px;right:8px;top:calc(8px + env(safe-area-inset-top));gap:6px}
  .pz-chip{height:34px;padding:0 10px;font-size:12px}
  .pz-app{display:none}.pz-where{min-width:0;flex:1}.pz-where b{display:none}
  .pz-hint{top:calc(50px + env(safe-area-inset-top));font-size:11.5px;white-space:normal;width:max-content;max-width:90%;text-align:center}
  .pz-alone{top:calc(50px + env(safe-area-inset-top));right:8px}
  .pz-chat{left:8px;width:calc(100% - 16px);bottom:calc(8px + env(safe-area-inset-bottom))}
  .pz-log{max-height:21vh;font-size:13px;padding:7px 9px}
  .pz-emotes button{height:31px;padding:0 9px;font-size:12px}
}
@media (prefers-reduced-motion:reduce){.pz-bubble{animation:none}.is-open .pz-badge i{animation:none}}
