*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--pp-bg: #0d1117;--pp-surface: #161b22;--pp-card: #21262d;--pp-border: #30363d;--pp-text: #e6edf3;--pp-muted: #8b949e;--pp-primary: #14B8A6;--pp-primary-dark: #0F766E;--pp-primary-light: #5EEAD4;--pp-danger: #f85149;--pp-success: #3fb950;--pp-warning: #d29922;--pp-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--pp-radius: 12px;--pp-radius-sm: 8px}body{font-family:var(--pp-font);background:var(--pp-bg);color:var(--pp-text);min-height:100vh;display:flex;flex-direction:column;align-items:center}a{color:var(--pp-primary)}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit}.pp-header{width:100%;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--pp-border);background:var(--pp-surface);position:sticky;top:0;z-index:20}.pp-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--pp-text)}.pp-logo img{height:32px}.pp-logo span{font-weight:700;font-size:1.1rem}.pp-header-right{display:flex;align-items:center;gap:1rem}.pp-room-code{font-family:monospace;font-size:1.25rem;letter-spacing:.15em;background:var(--pp-card);padding:.4rem 1rem;border-radius:var(--pp-radius-sm);border:1px solid var(--pp-border);user-select:all}.pp-connection-dot{width:10px;height:10px;border-radius:50%}.pp-connection-dot.connected{background:var(--pp-success)}.pp-connection-dot.disconnected{background:var(--pp-danger)}.pp-screen{display:none;width:100%;max-width:1200px;padding:2rem;flex:1}.pp-screen.active{display:flex;flex-direction:column}#pokerTable.active{padding-right:280px}#lobby{align-items:center;justify-content:center;gap:2rem}.lobby-title{font-size:2.5rem;font-weight:800;text-align:center;background:linear-gradient(135deg,var(--pp-primary),var(--pp-primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.lobby-subtitle{color:var(--pp-muted);font-size:1.1rem;text-align:center;max-width:500px}.lobby-cards{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center}.lobby-card{background:var(--pp-surface);border:2px solid var(--pp-border);border-radius:var(--pp-radius);padding:2rem;width:340px;display:flex;flex-direction:column;gap:1rem;transition:border-color .2s}.lobby-card:hover{border-color:var(--pp-primary)}.lobby-card h2{font-size:1.3rem;display:flex;align-items:center;gap:.5rem}.lobby-card label{font-size:.85rem;color:var(--pp-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.lobby-card input,.lobby-card select{width:100%;padding:.75rem 1rem;background:var(--pp-card);border:1px solid var(--pp-border);border-radius:var(--pp-radius-sm);color:var(--pp-text);font-size:1rem;transition:border-color .2s}.lobby-card input:focus,.lobby-card select:focus{outline:none;border-color:var(--pp-primary);box-shadow:0 0 0 3px #14b8a626}.pp-btn{padding:.75rem 1.5rem;border:none;border-radius:var(--pp-radius-sm);font-weight:600;font-size:1rem;transition:all .2s}.pp-btn-primary{background:var(--pp-primary);color:#000}.pp-btn-primary:hover{background:var(--pp-primary-light);transform:translateY(-1px)}.pp-btn-danger{background:transparent;border:1px solid var(--pp-danger);color:var(--pp-danger)}.pp-btn-danger:hover{background:var(--pp-danger);color:#fff}.pp-btn-secondary{background:transparent;border:1px solid var(--pp-border);color:var(--pp-text)}.pp-btn-secondary:hover{background:var(--pp-card)}.pp-btn-sm{padding:.4rem .75rem;font-size:.85rem}.pp-btn:disabled{opacity:.5;cursor:not-allowed}.pt-story-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:var(--pp-surface);border-radius:var(--pp-radius);border:1px solid var(--pp-border);margin-bottom:1rem;flex-wrap:wrap}.pt-story-label{font-size:.75rem;text-transform:uppercase;color:var(--pp-muted);letter-spacing:.08em;display:block}.pt-story-title{font-size:1.1rem;font-weight:600}.pt-story-right{display:flex;gap:.5rem;align-items:center;flex:1;max-width:450px}.pt-story-input{flex:1;padding:.5rem .75rem;background:var(--pp-card);border:1px solid var(--pp-border);border-radius:var(--pp-radius-sm);color:var(--pp-text);font-size:.95rem}.pt-story-input:focus{outline:none;border-color:var(--pp-primary)}.pt-timer-bar{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem;background:var(--pp-card);border-radius:var(--pp-radius-sm);border:1px solid var(--pp-border);margin-bottom:1rem}.pt-timer-display{font-family:monospace;font-size:1.5rem;font-weight:700;color:var(--pp-primary);min-width:80px;text-align:center}.pt-timer-select{padding:.3rem;background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:4px;color:var(--pp-text)}.pt-table-area{display:flex;flex-direction:column;align-items:center;margin:.5rem 0 1rem;flex:1;position:relative}.pt-players-top,.pt-players-bottom{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem;max-width:700px;width:100%;padding:.5rem 0}.pt-players-top{margin-bottom:-.5rem}.pt-players-bottom{margin-top:-.5rem}.pt-table{width:380px;height:200px;background:linear-gradient(145deg,#1a4a42,#0f3d36 60%,#0d332d);border-radius:100px;display:flex;align-items:center;justify-content:center;border:5px solid #2d6a5a;box-shadow:0 8px 40px #0006,inset 0 2px 12px #ffffff0f,inset 0 -4px 12px #0003;margin:.75rem 0;position:relative}.pt-table:before{content:"";position:absolute;inset:8px;border-radius:90px;border:1px solid rgba(255,255,255,.06);pointer-events:none}.pt-table-inner{text-align:center;z-index:1}.pt-table-text{color:#fff9;font-size:1rem}.pt-table-avg{font-size:2.5rem;font-weight:800;color:#fff;line-height:1.1}.pt-table-avg-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#fff6;margin-top:.25rem}.pt-table-progress{font-size:1.8rem;font-weight:700;color:#fffc}.pt-table-progress-label{font-size:.75rem;color:#fff6}.pt-player{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:85px}.pt-player-card{min-width:66px;width:66px;min-height:92px;height:92px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;transition:all .4s cubic-bezier(.34,1.56,.64,1);border:2px solid var(--pp-border);position:relative;box-shadow:0 2px 8px #0003;flex-shrink:0}.pt-player-card.empty{background:var(--pp-card);color:var(--pp-muted);font-size:1.2rem}.pt-player-card.voted{background:linear-gradient(145deg,var(--pp-primary-dark),var(--pp-primary));border-color:var(--pp-primary);color:#fff;animation:cardFlip .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 16px #14b8a64d}.pt-player-card.revealed{background:linear-gradient(180deg,var(--pp-card) 0%,var(--pp-surface) 100%);border-color:var(--pp-primary-light);color:var(--pp-text);font-size:1.8rem;animation:cardReveal .5s cubic-bezier(.34,1.56,.64,1)}.pt-player-card.spectator{background:transparent;border-style:dashed;color:var(--pp-muted);font-size:1rem;box-shadow:none}@keyframes cardFlip{0%{transform:scale(.7) rotateY(90deg)}to{transform:scale(1) rotateY(0)}}@keyframes cardReveal{0%{transform:scale(.8) rotateY(180deg)}to{transform:scale(1) rotateY(0)}}.pt-player-name{font-size:.8rem;color:var(--pp-muted);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.pt-player-name.moderator{color:var(--pp-primary);font-weight:600}.pt-player-name.you{color:var(--pp-primary-light);font-weight:600}.pt-stats{display:flex;justify-content:center;align-items:stretch;gap:0;padding:0;background:var(--pp-surface);border-radius:var(--pp-radius);border:1px solid var(--pp-border);margin-bottom:.75rem;overflow:hidden}.pt-stat{text-align:center;padding:1rem 1.5rem;flex:1;border-right:1px solid var(--pp-border)}.pt-stat:last-child{border-right:none}.pt-stat-label{font-size:.7rem;text-transform:uppercase;color:var(--pp-muted);letter-spacing:.08em;display:block;margin-bottom:.25rem}.pt-stat-value{font-size:1.8rem;font-weight:800;color:var(--pp-primary)}.pt-stat.consensus{background:#14b8a61a}.pt-stat.consensus .pt-stat-value{color:var(--pp-success)}.pt-stat.disagreement .pt-stat-value{color:var(--pp-warning)}.pt-distribution{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;padding:.75rem 1rem;background:var(--pp-surface);border-radius:var(--pp-radius);border:1px solid var(--pp-border);margin-bottom:.75rem}.pt-dist-item{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:52px}.pt-dist-bar-wrap{width:40px;height:64px;background:var(--pp-card);border-radius:6px;display:flex;align-items:flex-end;overflow:hidden;border:1px solid var(--pp-border)}.pt-dist-bar{width:100%;background:linear-gradient(180deg,var(--pp-primary-light),var(--pp-primary));border-radius:4px 4px 0 0;transition:height .5s cubic-bezier(.34,1.56,.64,1);min-height:8px}.pt-dist-value{font-size:1rem;font-weight:800;color:var(--pp-text);background:var(--pp-card);padding:.15rem .5rem;border-radius:4px}.pt-dist-count{font-size:.75rem;font-weight:600;color:var(--pp-primary)}.pt-deck-area{padding:1.5rem 0;background:var(--pp-surface);border-radius:var(--pp-radius);border:1px solid var(--pp-border);margin:.5rem 0}.pt-deck-label{text-align:center;font-size:.7rem;text-transform:uppercase;color:var(--pp-muted);letter-spacing:.1em;margin-bottom:.75rem}.pt-deck{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;padding:0 1rem}.pt-card{min-width:72px;width:72px;min-height:100px;height:100px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;cursor:pointer;background:linear-gradient(180deg,var(--pp-card) 0%,var(--pp-surface) 100%);border:2px solid var(--pp-border);color:var(--pp-text);transition:all .2s cubic-bezier(.34,1.56,.64,1);user-select:none;box-shadow:0 2px 8px #0003,inset 0 1px #ffffff0d;position:relative;flex-shrink:0}.pt-card:after{content:"";position:absolute;inset:4px;border-radius:8px;border:1px solid rgba(255,255,255,.04);pointer-events:none}.pt-card:hover{border-color:var(--pp-primary);transform:translateY(-6px) scale(1.05);box-shadow:0 8px 20px #14b8a640,0 2px 8px #0003}.pt-card.selected{background:linear-gradient(145deg,var(--pp-primary-dark),var(--pp-primary));border-color:var(--pp-primary-light);color:#000;transform:translateY(-10px) scale(1.08);box-shadow:0 12px 32px #14b8a666,0 4px 12px #0003}.pt-card.selected:after{border-color:#ffffff26}.pt-card.disabled{opacity:.3;pointer-events:none;transform:none}.pt-actions{display:flex;justify-content:center;gap:.75rem;padding:1rem 0;flex-wrap:wrap}.pt-sidebar{position:fixed;right:0;top:0;width:260px;height:100vh;padding-top:0;background:var(--pp-surface);border-left:1px solid var(--pp-border);overflow-y:auto;display:none;z-index:15}.pt-sidebar.open{display:flex;flex-direction:column}.pt-sidebar-inner{padding:4.5rem 1.25rem 1.25rem;flex:1;overflow-y:auto}.pt-sidebar h3{font-size:1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.pt-badge{background:var(--pp-primary);color:#000;font-size:.75rem;padding:.15rem .5rem;border-radius:99px;font-weight:700}.pt-sidebar ul{list-style:none}.pt-sidebar li{display:flex;align-items:center;justify-content:space-between;padding:.6rem .5rem;border-radius:var(--pp-radius-sm);margin-bottom:.25rem;border-bottom:1px solid rgba(255,255,255,.04)}.pt-sidebar li:hover{background:var(--pp-card)}.pt-sidebar .player-info{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.pt-sidebar .player-role{font-size:.7rem;color:var(--pp-primary);background:#14b8a61a;padding:.1rem .4rem;border-radius:4px}.pt-sidebar-actions{display:flex;gap:.35rem}.pt-sidebar-actions button{font-size:.75rem;padding:.3rem .5rem}.pp-toast{padding:.75rem 1.25rem;border-radius:var(--pp-radius-sm);font-size:.9rem;background:var(--pp-card);border:1px solid var(--pp-border);color:var(--pp-text);box-shadow:0 4px 16px #0000004d;animation:toastIn .3s ease}.pp-toast.error{border-color:var(--pp-danger)}.pp-toast.success{border-color:var(--pp-success)}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.seo-content{margin-top:3rem;padding:2rem;max-width:800px;text-align:center;border-top:1px solid var(--pp-border)}.seo-content h2{font-size:1.5rem;margin-bottom:.75rem;color:var(--pp-text)}.seo-content>p{color:var(--pp-muted);font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.seo-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;text-align:left}.seo-feature{background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:var(--pp-radius);padding:1.25rem}.seo-feature h3{font-size:1rem;margin-bottom:.4rem}.seo-feature p{font-size:.85rem;color:var(--pp-muted);line-height:1.5}.pt-history{margin-top:.75rem;background:var(--pp-surface);border-radius:var(--pp-radius);border:1px solid var(--pp-border);overflow:hidden}.pt-history-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--pp-border)}.pt-history-header h3{font-size:.85rem;color:var(--pp-muted);text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:.5rem}.pt-history-avg{font-size:.85rem;color:var(--pp-primary);font-weight:700}.pt-history-list{max-height:200px;overflow-y:auto}.pt-history-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;border-bottom:1px solid rgba(255,255,255,.03)}.pt-history-item:last-child{border-bottom:none}.pt-history-item:hover{background:var(--pp-card)}.pt-history-story{font-size:.9rem;color:var(--pp-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:1rem}.pt-history-sp{font-size:1.1rem;font-weight:800;color:var(--pp-primary);background:#14b8a61a;padding:.2rem .6rem;border-radius:6px;white-space:nowrap}.pt-history-empty{padding:1rem;text-align:center;color:var(--pp-muted);font-size:.85rem}@media(max-width:768px){.lobby-cards{flex-direction:column;align-items:center}.lobby-card{width:100%;max-width:360px}.pt-table{width:260px;height:150px;border-radius:75px}.pt-table-avg{font-size:2rem}.pt-card{width:56px;height:78px;font-size:1.2rem}.pt-player-card{width:54px;height:76px;font-size:1.2rem}.pt-sidebar{display:none!important}#pokerTable.active{padding-right:2rem}.pt-story-bar{flex-direction:column;align-items:stretch}.pt-story-right{max-width:100%}.pt-stat-value{font-size:1.3rem}.pt-stat{padding:.75rem 1rem}}
