:root{--text: #6b6375;--text-h: #08060d;--bg: #fff;--border: #e5e4e7;--code-bg: #f4f3ec;--accent: #aa3bff;--accent-bg: rgba(170, 59, 255, .1);--accent-border: rgba(170, 59, 255, .5);--social-bg: rgba(244, 243, 236, .5);--shadow: rgba(0, 0, 0, .1) 0 10px 15px -3px, rgba(0, 0, 0, .05) 0 4px 6px -2px;--sans: system-ui, "Segoe UI", Roboto, sans-serif;--heading: system-ui, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(max-width:1024px){:root{font-size:16px}}@media(prefers-color-scheme:dark){:root{--text: #9ca3af;--text-h: #f3f4f6;--bg: #16171d;--border: #2e303a;--code-bg: #1f2028;--accent: #c084fc;--accent-bg: rgba(192, 132, 252, .15);--accent-border: rgba(192, 132, 252, .5);--social-bg: rgba(47, 48, 58, .5);--shadow: rgba(0, 0, 0, .4) 0 10px 15px -3px, rgba(0, 0, 0, .25) 0 4px 6px -2px}#social .button-icon{filter:invert(1) brightness(2)}}#root{width:1126px;max-width:100%;margin:0 auto;text-align:center;border-inline:1px solid var(--border);min-height:100svh;display:flex;flex-direction:column;box-sizing:border-box}body{margin:0}h1,h2{font-family:var(--heading);font-weight:500;color:var(--text-h)}h1{font-size:56px;letter-spacing:-1.68px;margin:32px 0}@media(max-width:1024px){h1{font-size:36px;margin:20px 0}}h2{font-size:24px;line-height:118%;letter-spacing:-.24px;margin:0 0 8px}@media(max-width:1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);display:inline-flex;border-radius:4px;color:var(--text-h)}code{font-size:15px;line-height:135%;padding:4px 8px;background:var(--code-bg)}.app-header{background:linear-gradient(135deg,#8b7355,#6b5645);color:#fff;box-shadow:0 2px 8px #0003;position:sticky;top:0;z-index:1000;padding:.75rem 1rem}.header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.app-title{margin:0;font-size:1.75rem;font-weight:700;flex:1;text-align:center;letter-spacing:.5px;transition:opacity .2s}.app-title:hover{opacity:.9}.header-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.header-btn:hover{background:#ffffff40;border-color:#ffffff80}.header-btn:active{transform:translateY(1px)}.back-btn,.home-btn{width:100px}@media(max-width:600px){.app-title{font-size:1.5rem}.header-btn{padding:.4rem .75rem;font-size:.85rem;width:auto;min-width:70px}}.home-page{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem}.home-page .container{max-width:600px;width:100%;text-align:center}.home-page .title{font-size:4rem;margin:0 0 .5rem;color:#2c3e50;font-weight:700}.home-page .subtitle{font-size:1.25rem;color:#7f8c8d;margin:0 0 3rem}.menu{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:3rem}.menu-button{display:block;padding:2rem;background:#fff;border:2px solid #e1e8ed;border-radius:12px;text-decoration:none;transition:all .2s ease;cursor:pointer}.menu-button:hover{border-color:#3498db;box-shadow:0 4px 12px #3498db26;transform:translateY(-2px)}.menu-button h2{margin:0 0 .5rem;color:#2c3e50;font-size:1.75rem}.menu-button p{margin:0;color:#7f8c8d;font-size:1rem}.info{padding:1.5rem;background:#f8f9fa;border-radius:8px}.info p{margin:.5rem 0;color:#5a6c7d;font-size:.95rem}.multipliers-info{font-size:.875rem!important;font-family:Courier New,monospace;color:#34495e!important}.setup-page{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem}.setup-page .container{max-width:500px;width:100%}.setup-page h1{font-size:2.5rem;margin:0 0 .5rem;color:#2c3e50;text-align:center}.mode-description{text-align:center;color:#7f8c8d;margin:0 0 2rem}.setup-form{background:#fff;padding:2rem;border-radius:12px;border:2px solid #e1e8ed}.form-group{margin-bottom:2rem}.form-group label{display:block;font-weight:600;color:#2c3e50;margin-bottom:.75rem;font-size:1.1rem}.number-input{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:.5rem}.number-input button{width:48px;height:48px;border:2px solid #e1e8ed;background:#fff;border-radius:8px;font-size:1.5rem;cursor:pointer;transition:all .2s ease;color:#3498db;font-weight:600}.number-input button:hover:not(:disabled){border-color:#3498db;background:#f0f8ff}.number-input button:disabled{opacity:.3;cursor:not-allowed}.number-value{font-size:2rem;font-weight:700;color:#2c3e50;min-width:3rem;text-align:center}.form-hint{text-align:center;color:#7f8c8d;font-size:.9rem;margin:0}.button-group{display:flex;gap:1rem;margin-top:2rem}.button{flex:1;padding:1rem 2rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.game-card{position:relative;background:#fff;border:3px solid #2c3e50;border-radius:8px;padding:0;cursor:pointer;transition:all .2s ease;font-family:Arial,sans-serif;box-shadow:0 2px 4px #0000001a}.game-card.medium{width:80px;height:112px}.game-card.small{width:60px;height:84px}.game-card.large{width:100px;height:140px}.game-card:hover:not(.disabled){transform:translateY(-4px);box-shadow:0 6px 12px #00000026}.game-card.selected{border-color:#3498db;background:#e8f4fd;transform:translateY(-8px)}.game-card.disabled{opacity:.6;cursor:not-allowed}.card-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.25rem}.card-suit{font-size:1.5rem;line-height:1}.card-suit.red{color:#e74c3c}.card-suit.black{color:#2c3e50}.card-letter{font-size:2rem;font-weight:700;color:#2c3e50;line-height:1}.game-card.small .card-suit{font-size:1.1rem}.game-card.small .card-letter{font-size:1.5rem}.game-card.large .card-suit{font-size:1.8rem}.game-card.large .card-letter{font-size:2.5rem}.game-card[draggable=true]{cursor:grab;transition:all .2s ease,opacity .1s ease}.game-card[draggable=true]:active{cursor:grabbing}.game-card.drag-source{opacity:0}.game-card.drag-target{outline:3px solid #3498db;background:#3498db1f}.simple-game-page{min-height:100vh;padding:2rem;max-width:1200px;margin:0 auto}.current-player{font-size:1.25rem;font-weight:600;color:#2c3e50}.word-preview{background:#f8f9fa;border:2px solid #e1e8ed;border-radius:8px;padding:1.5rem;margin-bottom:1rem;text-align:center}.preview-label{display:block;font-size:.9rem;color:#7f8c8d;margin-bottom:.5rem;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.preview-word{display:block;font-size:2.25rem;font-weight:700;color:#2c3e50;margin-bottom:.5rem;letter-spacing:2px;font-family:Courier New,monospace;min-height:3rem;display:flex;align-items:center;justify-content:center}.validity-indicator{display:inline-block;padding:.35rem .75rem;border-radius:6px;font-size:.9rem;font-weight:600}.validity-indicator.valid{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.validity-indicator.invalid{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.play-section .actions{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.holdem-game-page{min-height:100vh;padding:2rem;max-width:1200px;margin:0 auto}.game-header{text-align:center;margin-bottom:2rem}.game-header h1{font-size:2rem;margin:0 0 .5rem;color:#2c3e50}.loading{display:flex;justify-content:center;align-items:center;min-height:60vh;font-size:1.25rem;color:#7f8c8d}.error{background:#fee;border:2px solid #e74c3c;border-radius:8px;padding:1.5rem;margin:2rem auto;max-width:600px;text-align:center}.error h2{color:#c0392b;margin:0 0 .5rem}.error p{color:#e74c3c;margin:0}.game-board{background:#f8f9fa;border:2px solid #e1e8ed;border-radius:12px;padding:2rem}.status-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e1e8ed}.status-info{display:flex;gap:2rem}.current-player{font-size:1.1rem;font-weight:600;color:#2c3e50}.current-player .highlight{color:#3498db}.current-stage{font-size:1.1rem;color:#7f8c8d}.current-stage .stage-name{font-weight:600;color:#9b59b6}.turns-remaining{color:#7f8c8d;font-size:.95rem}.message-area{background:#e8f4fd;border:2px solid #3498db;border-radius:8px;padding:1rem;margin-bottom:1.5rem;text-align:center;color:#2c3e50;font-size:1.1rem}.community-area{margin-bottom:2rem;padding:1.5rem;background:#fff;border:2px solid #9b59b6;border-radius:8px}.community-area h3{margin:0 0 1rem;color:#9b59b6;font-size:1.25rem;text-align:center}.community-cards{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.community-cards.empty{min-height:100px;align-items:center;color:#95a5a6;font-style:italic}.hand-area{margin-bottom:2rem}.hand-area h3{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem}.hand{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.discard-preview{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:.75rem 0 1rem;padding:.75rem 1.25rem;background:#fdf3f3;border:2px solid #e74c3c;border-radius:8px;animation:fadeIn .15s ease}.discard-preview-label{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#e74c3c}.discard-preview-cards{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.discard-controls{display:flex;flex-direction:column;gap:1rem;align-items:center;margin:1.5rem 0}.discard-info{color:#7f8c8d;font-size:.95rem}.play-controls{display:flex;flex-direction:column;gap:1rem;align-items:center;margin:1.5rem 0}.word-input-group{display:flex;gap:1rem;width:100%;max-width:400px}.word-input-group input{flex:1;padding:.75rem 1rem;font-size:1.1rem;border:2px solid #e1e8ed;border-radius:8px;text-transform:uppercase}.word-input-group input:focus{outline:none;border-color:#3498db}.validation-message{padding:.75rem;border-radius:6px;text-align:center;font-size:.95rem}.validation-message.error{background:#fee;border:1px solid #e74c3c;color:#c0392b}.validation-message.success{background:#e8f8f5;border:1px solid #27ae60;color:#229954}.score-display{background:#e8f8f5;border:2px solid #27ae60;border-radius:8px;padding:1rem;text-align:center}.score-display h4{margin:0 0 .5rem;color:#229954;font-size:1.1rem}.score-value{font-size:2rem;font-weight:700;color:#27ae60;margin:.5rem 0}.multipliers-list{list-style:none;padding:0;margin:.5rem 0 0}.multipliers-list li{color:#34495e;font-size:.9rem;margin:.25rem 0}.stage-controls{display:flex;justify-content:center;margin:1.5rem 0}.scoreboard{margin-top:2rem;padding-top:2rem;border-top:2px solid #e1e8ed}.scoreboard h3{margin:0 0 1rem;color:#2c3e50;font-size:1.25rem;text-align:center}.players-list{display:flex;flex-direction:column;gap:.75rem}.player-score{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#fff;border:2px solid #e1e8ed;border-radius:8px}.player-score.active{border-color:#3498db;background:#f0f8ff}.player-score .name{font-weight:600;color:#2c3e50}.player-score .score{font-weight:700;color:#27ae60;font-size:1.1rem}.player-score .last-word{color:#7f8c8d;font-size:.9rem;margin-left:1rem}.button{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .2s ease}.button-primary:hover:not(:disabled){background:#2980b9}.button-primary:disabled{background:#bdc3c7;cursor:not-allowed}.button-success{background:#27ae60;color:#fff}.button-success:hover{background:#229954}.button-warning{background:#f39c12;color:#fff}.button-warning:hover{background:#e67e22}.play-section{margin-top:1.5rem}.word-preview{background:#f8f9fa;border:2px solid #e1e8ed;border-radius:8px;padding:1.25rem 1.5rem;margin-bottom:1rem;text-align:center;display:flex;align-items:center;justify-content:center;gap:.75rem}.word-text{font-size:2rem;font-weight:700;letter-spacing:2px;font-family:Courier New,monospace}.word-text.valid{color:#155724}.word-text.invalid{color:#721c24}.valid-indicator{font-size:1.5rem;color:#27ae60;font-weight:700}.showdown-actions{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.results-page{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem}.results-page .container{max-width:700px;width:100%}.winner-announcement{text-align:center;margin-bottom:3rem}.winner-announcement h1{font-size:3rem;margin:0 0 1rem;color:#2c3e50}.winner-announcement .trophy{font-size:5rem;margin-bottom:1rem}.winner-announcement .winner-name{font-size:2rem;color:#f39c12;font-weight:700;margin:0 0 .5rem}.winner-announcement .winner-score{font-size:1.5rem;color:#27ae60;font-weight:600}.winner-announcement .winner-word{font-size:1.25rem;color:#7f8c8d;margin:.5rem 0 0;font-style:italic}.draw-announcement{text-align:center;margin-bottom:3rem}.draw-announcement h1{font-size:3rem;margin:0 0 1rem;color:#2c3e50}.draw-announcement .trophy{font-size:5rem;margin-bottom:1rem}.draw-announcement .draw-message{font-size:1.5rem;color:#3498db;font-weight:600;margin:0 0 .5rem}.standings{background:#fff;border:2px solid #e1e8ed;border-radius:12px;padding:2rem;margin-bottom:2rem}.standings h2{margin:0 0 1.5rem;color:#2c3e50;font-size:1.75rem;text-align:center}.standings-table{width:100%;border-collapse:collapse}.standings-table thead{background:#f8f9fa}.standings-table th{padding:.75rem 1rem;text-align:left;color:#7f8c8d;font-weight:600;font-size:.95rem;border-bottom:2px solid #e1e8ed}.standings-table th:first-child{width:60px;text-align:center}.standings-table th:last-child{text-align:right}.standings-table tbody tr{border-bottom:1px solid #ecf0f1}.standings-table tbody tr:last-child{border-bottom:none}.standings-table td{padding:1rem;color:#2c3e50}.standings-table .rank{text-align:center;font-weight:700;font-size:1.25rem;color:#95a5a6}.standings-table tr:nth-child(1) .rank{color:#f39c12}.standings-table tr:nth-child(2) .rank{color:#95a5a6}.standings-table tr:nth-child(3) .rank{color:#cd7f32}.standings-table .player-name{font-weight:600;font-size:1.1rem}.standings-table .last-word{color:#7f8c8d;font-style:italic;font-size:.95rem}.standings-table .score{text-align:right;font-weight:700;font-size:1.25rem;color:#27ae60}.actions{display:flex;gap:1rem;justify-content:center}.button{padding:1rem 2rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.button-primary{background:#3498db;color:#fff}.button-primary:hover{background:#2980b9}.button-secondary{background:#ecf0f1;color:#2c3e50}.button-secondary:hover{background:#d5dbde}.final-standings{margin-bottom:2rem}.final-standings h2{text-align:center;color:#2c3e50;margin-bottom:1.5rem;font-size:1.75rem}.standings-list{display:flex;flex-direction:column;gap:1rem}.standing-item{background:#fff;border:2px solid #e1e8ed;border-radius:12px;padding:1rem;transition:all .2s ease}.standing-item.first-place{border-color:#f39c12;background:linear-gradient(135deg,#fffbf0,#fff)}.standing-info{display:grid;grid-template-columns:50px 1fr auto auto;gap:1rem;align-items:center;margin-bottom:.5rem}.standing-item:not(:has(.score-breakdown)) .standing-info{margin-bottom:0}.rank{font-weight:700;font-size:1.5rem;color:#95a5a6;text-align:center}.first-place .rank{color:#f39c12}.standing-item:nth-child(2) .rank{color:#95a5a6}.standing-item:nth-child(3) .rank{color:#cd7f32}.player-name{font-weight:600;font-size:1.1rem;color:#2c3e50}.player-word{color:#7f8c8d;font-style:italic;font-size:1rem}.player-score{font-weight:700;font-size:1.25rem;color:#27ae60;text-align:right}.score-breakdown{background:#f8f9fa;border-radius:8px;padding:.75rem 1rem;margin-top:.75rem;font-size:.9rem}.breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;color:#5a6c7d}.breakdown-row.multiplier{color:#3498db;font-weight:500}.breakdown-row.total{border-top:1px solid #e1e8ed;margin-top:.25rem;padding-top:.5rem;font-weight:600;color:#27ae60}.breakdown-label{font-weight:500}.breakdown-value{font-weight:600;font-family:Courier New,monospace}.used-cards{display:flex;gap:.5rem;flex-wrap:wrap;padding:.75rem 0;justify-content:center}@media(max-width:600px){.standing-info{grid-template-columns:40px 1fr auto;gap:.5rem}.standing-info .player-word{grid-column:2 / -1;margin-top:.25rem}.score-breakdown{font-size:.85rem}}.counter{font-size:16px;padding:5px 10px;border-radius:5px;color:var(--accent);background:var(--accent-bg);border:2px solid transparent;transition:border-color .3s;margin-bottom:24px}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{inset-inline:0;margin:0 auto}.hero .base{width:170px;position:relative;z-index:0}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;top:34px;height:28px;transform:perspective(2000px) rotate(300deg) rotateX(44deg) rotateY(39deg) scale(1.4)}.hero .vite{z-index:0;top:107px;height:26px;width:auto;transform:perspective(2000px) rotate(300deg) rotateX(40deg) rotateY(39deg) scale(.8)}#center{display:flex;flex-direction:column;gap:25px;place-content:center;place-items:center;flex-grow:1}@media(max-width:1024px){#center{padding:32px 20px 24px;gap:18px}}#next-steps{display:flex;border-top:1px solid var(--border);text-align:left}#next-steps>div{flex:1 1 0;padding:32px}@media(max-width:1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{margin-bottom:16px;width:22px;height:22px}@media(max-width:1024px){#next-steps{flex-direction:column;text-align:center}}#docs{border-right:1px solid var(--border)}@media(max-width:1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{list-style:none;padding:0;display:flex;gap:8px;margin:32px 0 0}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);font-size:16px;border-radius:6px;background:var(--social-bg);display:flex;padding:6px 12px;align-items:center;gap:8px;text-decoration:none;transition:box-shadow .3s}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{height:18px;width:18px}@media(max-width:1024px){#next-steps ul{margin-top:20px;flex-wrap:wrap;justify-content:center}#next-steps ul li{flex:1 1 calc(50% - 8px)}#next-steps ul a{width:100%;justify-content:center;box-sizing:border-box}}#spacer{height:88px;border-top:1px solid var(--border)}@media(max-width:1024px){#spacer{height:48px}}.ticks{position:relative;width:100%}.ticks:before,.ticks:after{content:"";position:absolute;top:-4.5px;border:5px solid transparent}.ticks:before{left:0;border-left-color:var(--border)}.ticks:after{right:0;border-right-color:var(--border)}
