/* Pizo app layout. Brand tokens live in brand/pizo.css. No inline styles (CSP). */
.pz-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:12px 16px;max-width:1100px;margin:0 auto;flex-wrap:wrap}
.pz-links{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}
.pz-links a{color:var(--pz-ink-2);text-decoration:none;font-weight:500}.pz-links a:hover{color:var(--pz-accent)}
.inline{display:inline}
.pz-btn--sm{padding:.45rem .9rem;font-size:.9rem}
.pz-stack{display:grid;gap:.6rem}.pz-stack label{font-weight:600}
.pz-row{display:flex;gap:.6rem;flex-wrap:wrap}.pz-row .pz-input{flex:1 1 220px;width:auto}
.pz-select{appearance:auto;flex:0 0 140px}
.pz-narrow{max-width:520px;margin:0 auto}
.pz-signin{max-width:420px;margin:8vh auto 0;text-align:center}
.pz-signin .pz-stack{text-align:left}.pz-signin-mark{width:72px;height:72px;border-radius:18px}
.pz-code{font-family:var(--pz-mono);font-size:1.6rem;letter-spacing:.3em;text-align:center}
.pz-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:1rem}
.pz-grid--2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.pz-game{display:flex;flex-direction:column;gap:.4rem;text-decoration:none;color:inherit;transition:transform var(--pz-press)}
.pz-game:hover{transform:translateY(-3px)}.pz-game .pz-btn{align-self:flex-start;margin-top:auto}
.pz-game-art{display:block;height:120px;border-radius:14px;margin-bottom:.4rem}
.pz-game-art--obby{background:linear-gradient(135deg,#C6F432,#22B573)}
.pz-game-art--tycoon{background:linear-gradient(135deg,#FFB020,#FF3D81)}
.pz-game-art--tag{background:linear-gradient(135deg,#FF3D81,#231A33)}
.pz-best{color:var(--pz-ink-2);font-size:.9rem}
.pz-list{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.8rem}
.pz-list li{border:var(--pz-border) solid var(--pz-line);border-radius:var(--pz-r-ctl);padding:.8rem 1rem}
.pz-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}
.pz-table th,.pz-table td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--pz-line);vertical-align:top}
.pz-actions{white-space:nowrap}.pz-actions form{margin-right:.3rem}
.pz-board{margin:0;padding-left:1.4rem}.pz-board li{padding:.2rem 0}.pz-board .me{color:var(--pz-accent);font-weight:700}
.pz-gamehead{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}.pz-gamehead h1{font-size:2rem}
.pz-stage{position:relative;background:var(--pz-ink);border-radius:var(--pz-r-card);overflow:hidden;aspect-ratio:16/10;max-height:70vh;touch-action:none;user-select:none}
.pz-stage canvas{display:block;width:100%;height:100%}
.pz-hud{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:.6rem;pointer-events:none;color:#fff;font-family:var(--pz-mono);font-weight:700;font-size:1.1rem;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.pz-hud span{background:rgba(35,26,51,.6);padding:.3rem .7rem;border-radius:999px}
.pz-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;background:rgba(35,26,51,.78);color:#fff;text-align:center;padding:16px}
.pz-overlay h2{color:#fff;font-size:2rem}.pz-overlay p{margin:0}.pz-overlay[hidden]{display:none}
.pz-stage{-webkit-user-select:none;-webkit-touch-callout:none}
.pz-stage--tag canvas{object-fit:contain;background:#2E2344}
@media (max-width:700px){.pz-stage{aspect-ratio:auto;height:62vh;max-height:none}.pz-gamehead h1{font-size:1.5rem}}
.pz-stick{position:absolute;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.35);pointer-events:none}
.pz-stick[hidden]{display:none}
.pz-stick-knob{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:var(--pz-pop);box-shadow:0 2px 10px rgba(0,0,0,.4)}
.pz-action{position:absolute;right:20px;bottom:20px;width:84px;height:84px;border-radius:50%;border:3px solid var(--pz-pop);background:rgba(255,61,129,.85);color:#fff;font:700 1.1rem var(--pz-body);touch-action:none;-webkit-user-select:none;user-select:none}
.pz-action:active{transform:scale(.92);background:var(--pz-accent)}
/* tycoon */
.pz-ty{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px;height:100%;color:#fff;overflow:auto}
.pz-ty-left{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center}
.pz-ty-coins{font-family:var(--pz-mono);font-size:2.2rem;font-weight:700;color:var(--pz-pop)}
.pz-ty-rate{color:#C9C0DC;font-family:var(--pz-mono)}
.pz-ty-tap{width:160px;height:160px;border-radius:50%;border:6px solid var(--pz-pop);background:#2E2344;cursor:pointer;transition:transform 90ms cubic-bezier(.34,1.56,.64,1);display:grid;place-items:center}
.pz-ty-tap:active{transform:scale(.92)}.pz-ty-tap img{width:110px;height:110px;pointer-events:none}
.pz-ty-shop{display:grid;gap:8px;align-content:start}
.pz-ty-item{display:flex;justify-content:space-between;align-items:center;gap:.6rem;background:#2E2344;border:2px solid #4A3D63;border-radius:14px;padding:.6rem .9rem;color:#fff;text-align:left;cursor:pointer;font:inherit}
.pz-ty-item:disabled{opacity:.45;cursor:default}.pz-ty-item b{display:block}.pz-ty-item small{color:#C9C0DC}
.pz-ty-item .cost{font-family:var(--pz-mono);color:var(--pz-pop);white-space:nowrap}
.pz-ty-float{position:absolute;color:var(--pz-pop);font-family:var(--pz-mono);font-weight:700;pointer-events:none;animation:pz-rise .7s ease-out forwards}
@keyframes pz-rise{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-50px)}}
@media (max-width:640px){.pz-ty{grid-template-columns:1fr}.pz-ty-tap{width:120px;height:120px}.pz-ty-tap img{width:80px;height:80px}}
