:root{--text:#5f5b66;--text-h:#17151b;--text-inverse:#f8f8f5;--bg:#f4f4f1;--surface:#fff;--surface-subtle:#f8f8f5;--surface-inset:#ebebe7;--surface-hover:#f0f0ec;--border:#dedde2;--border-strong:#c4c2ca;--code-bg:#eae9e4;--accent:#087a55;--accent-hover:#066846;--accent-contrast:#fff;--accent-bg:#087a551a;--accent-border:#087a556b;--gold:#946b00;--gold-bg:#fff5cf;--gold-border:#d3a728;--danger:#b42332;--danger-hover:#941c29;--danger-bg:#fff0f1;--field-bg:#f3f3ef;--disabled-bg:#deded9;--disabled-text:#77737d;--shadow:#231f2b1f 0 12px 24px -8px, #231f2b0f 0 3px 8px -3px;--shadow-strong:0 18px 42px #231f2b29;--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;--lightningcss-light:initial;--lightningcss-dark: ;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 (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#aaa6af;--text-h:#f3f2f5;--text-inverse:#151418;--bg:#111216;--surface:#191a20;--surface-subtle:#202127;--surface-inset:#121318;--surface-hover:#282a31;--border:#30313a;--border-strong:#484a55;--code-bg:#222329;--accent:#38d89a;--accent-hover:#5ae5ad;--accent-contrast:#062619;--accent-bg:#38d89a1f;--accent-border:#38d89a73;--gold:#f1cf62;--gold-bg:#302a18;--gold-border:#9c812b;--danger:#e0525f;--danger-hover:#ee6b76;--danger-bg:#321b20;--field-bg:#25262d;--disabled-bg:#303139;--disabled-text:#8e8b94;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--shadow-strong:0 18px 42px #00000061}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{background:var(--bg);min-width:320px;min-height:100dvh;margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,[role=button]:focus-visible{outline:3px solid var(--accent-border);outline-offset:3px}.field .input-field:focus-visible{outline:none}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.join{flex-direction:column;gap:.75rem;display:flex}.hero{position:relative}#center{box-sizing:border-box;flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;padding:1rem;display:flex}.button-container{justify-content:center;align-items:flex-start;gap:2rem;display:flex}.create-button,.join-button{letter-spacing:.02em;border-radius:.6em;padding:.8em 3em;font-family:inherit;font-size:18px;font-weight:750;line-height:1.4em;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s;position:relative;overflow:hidden}.create-button{border:2px solid var(--accent);color:var(--accent-contrast);background:var(--accent);box-shadow:0 8px 20px var(--accent-bg)}.join-button{border:2px solid var(--border-strong);color:var(--text-h);background:var(--surface);box-shadow:var(--shadow)}.create-button:hover{border-color:var(--accent-hover);background:var(--accent-hover);transform:translateY(-2px)}.join-button:hover{border-color:var(--accent);background:var(--accent-bg);transform:translateY(-2px)}.create-button:active,.join-button:active{transform:translateY(1px)}@media (width<=600px){#center{padding:1rem}.button-container{flex-direction:column;align-items:stretch;gap:1.5rem;width:100%;max-width:320px}.create-button,.join-button{box-sizing:border-box;width:100%;padding:.8em 1.5em;font-size:16px}}.container{box-sizing:border-box;background:var(--bg);justify-content:center;align-items:center;min-height:100dvh;padding:1rem;display:flex}.form{background:var(--surface);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow-strong);border-radius:16px;flex-direction:column;gap:.75rem;padding:2rem;transition:transform .2s,box-shadow .2s;display:flex}.form:hover{transform:translateY(-2px);box-shadow:0 22px 48px #231f2b2e}#heading{text-align:center;color:var(--text-h);margin:0 0 1rem;font-size:1.6rem;font-weight:600}.field{background:var(--field-bg);border:1px solid var(--border-strong);border-radius:10px;align-items:center;gap:.75rem;padding:.8rem 1rem;transition:border-color .2s;display:flex}.field:focus-within{border-color:var(--text);box-shadow:0 0 0 3px var(--border)}.input-icon{width:1.3em;height:1.3em;fill:var(--text-h)}.input-field{width:100%;color:var(--text-h);background:0 0;border:none;outline:none;font-size:16px}.input-field::placeholder{color:var(--text);opacity:1}.form .btn{flex-direction:row;justify-content:center;margin-top:1rem;display:flex}.button1{background:var(--accent);color:var(--accent-contrast);cursor:pointer;border:none;border-radius:10px;padding:.8rem 1.2rem;font-weight:600;transition:background .2s,transform .2s}.button1:hover{background:var(--accent-hover);transform:translateY(-1px)}@media (width<=600px){.container{padding:.75rem}.form{border-radius:14px;padding:1.5rem}#heading{font-size:1.4rem}.field{padding:.75rem .9rem}.form .btn,.button1{width:100%}}@media (prefers-color-scheme:dark){.form:hover{box-shadow:var(--shadow-strong)}}.lobby-player-card{color:var(--text-h);background:var(--surface-subtle);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;margin:1rem;padding:1rem 1.2rem;transition:transform .2s,background .2s,border-color .2s;display:flex}.lobby-player-card:hover{background:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-2px)}.empty-player{color:var(--text)}.lobby-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.join-code{letter-spacing:.2rem;color:var(--accent);font-family:monospace;font-size:1.3rem;font-weight:700}.leave-button{border:2px solid var(--danger);background:var(--danger);color:#fff;border-radius:.6em;margin:2rem 0;padding:.7em 2.7em;font-size:medium;font-weight:750;line-height:1.4em;transition:transform .18s,background .18s,border-color .18s;overflow:hidden}.leave-button:hover{border-color:var(--danger-hover);background:var(--danger-hover);transform:translateY(-2px)}.leave-button:active{transform:translateY(1px)}@media (width<=600px){.lobby-header{align-items:center;gap:.75rem}.join-code{letter-spacing:.15rem;font-size:1.1rem}.leave-button{white-space:nowrap;padding:.65em 1.2em;font-size:.9rem}}.start-game-button{border:2px solid var(--accent);background:var(--accent);color:var(--accent-contrast);letter-spacing:.03em;box-shadow:0 8px 20px var(--accent-bg);border-radius:.6em;padding:.7em 2.7em;font-size:15px;font-weight:800;line-height:1.4em;transition:transform .18s,background .18s,border-color .18s;overflow:hidden}.start-game-button:hover:not(.disabled){border-color:var(--accent-hover);background:var(--accent-hover);transform:translateY(-2px)}.start-game-button:active:not(.disabled){transform:translateY(1px)}.start-game-button.disabled{cursor:not-allowed;opacity:.45;color:var(--disabled-text);border-color:var(--border-strong);background:var(--disabled-bg);box-shadow:none;transform:none}.lobby-container{box-sizing:border-box;background:var(--bg);justify-content:center;align-items:center;min-height:100dvh;padding:2rem;display:flex}.lobby-card{width:min(700px,100%);color:var(--text);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-strong);border-radius:20px;flex-direction:column;gap:2rem;padding:2rem;display:flex}.ready-button{letter-spacing:.03em;border:2px solid var(--accent);background:var(--accent);color:var(--accent-contrast);box-shadow:0 8px 20px var(--accent-bg);border-radius:.6em;padding:.7em 2.7em;font-family:inherit;font-size:15px;font-weight:800;line-height:1.4em;transition:transform .18s,background .18s,border-color .18s;position:relative;overflow:hidden}.ready-button:hover{border-color:var(--accent-hover);background:var(--accent-hover);transform:translateY(-2px)}.ready-button:active{transform:translateY(1px)}@media (width<=600px){.lobby-container{align-items:stretch;padding:0}.lobby-card{min-height:100dvh;box-shadow:none;border:0;border-radius:0;padding:1.25rem}}.scorecard{border-collapse:separate;border-spacing:0;width:fit-content;color:var(--text-h);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-strong);border-radius:12px;margin:1rem auto;font-size:.82rem;overflow:hidden}.scorecard th,.scorecard td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:.5rem .75rem}.scorecard th:last-child,.scorecard td:last-child{border-right:0}.scorecard tr:last-child th,.scorecard tr:last-child td{border-bottom:0}.scorecard thead{background:var(--surface-inset)}.scorecard thead th{color:var(--text-h);text-transform:uppercase;font-size:.74rem;font-weight:900}.scorecard thead th:first-child,.scorecard tbody th{text-align:left}.scorecard tbody th{white-space:nowrap;color:var(--text-h);font-weight:800}.scorecard tbody tr:nth-child(2n){background:var(--surface-subtle)}.scorecard tbody tr:nth-child(odd){background:var(--surface)}.scorecard tbody tr:hover{background:var(--surface-hover)}.separator{font-weight:900;background:var(--gold-bg)!important}.separator th,.separator td{color:var(--gold)}.scorecard td{text-align:center;min-width:3rem;height:2rem;font-weight:800}.score-cell.clickable{cursor:pointer;color:var(--accent);background:var(--accent-bg)}.score-cell.clickable:hover{background:var(--accent-bg);box-shadow:inset 0 0 0 2px var(--accent-border)}@media (width<=1180px) and (width>=901px){.scorecard{border-radius:10px;margin:0 auto;font-size:.72rem}.scorecard th,.scorecard td{padding:.34rem .5rem}.scorecard thead th{font-size:.64rem}.scorecard td{min-width:2.55rem;height:1.65rem}}@media (height<=940px) and (width>=901px){.scorecard{margin:0 auto;font-size:.68rem}.scorecard th,.scorecard td{padding:.28rem .45rem}.scorecard thead th{font-size:.6rem}.scorecard td{height:1.8rem}}@media (width<=900px){.scorecard{border-radius:10px;min-width:max-content;margin:0;font-size:.78rem}.scorecard th,.scorecard td{padding:.62rem .7rem}.scorecard thead th{z-index:2;background:var(--surface-inset);position:sticky;top:0}.scorecard thead th:first-child,.scorecard tbody th{z-index:3;background:inherit;max-width:8.5rem;box-shadow:1px 0 0 var(--border);position:sticky;left:0}.scorecard thead th:first-child{background:var(--surface-inset)}.separator th{background:var(--gold-bg)}.scorecard td{min-width:3.5rem;height:2.6rem}.score-cell.clickable{outline:1px solid var(--accent-border);outline-offset:-4px;min-width:4rem;position:relative}}@media (width<=420px){.scorecard{font-size:.72rem}.scorecard th,.scorecard td{padding:.52rem .55rem}.scorecard thead th:first-child,.scorecard tbody th{max-width:7rem}.scorecard td{min-width:3.15rem}}.game-container{--game-surface:var(--surface);--game-surface-2:var(--surface-subtle);--game-line:var(--border);--game-text:var(--text-h);--game-muted:var(--text);--game-accent:var(--accent);--game-accent-contrast:var(--accent-contrast);--game-gold:var(--gold);box-sizing:border-box;background:radial-gradient(circle at top left, var(--accent-bg), transparent 30rem), linear-gradient(145deg, var(--bg) 0%, var(--surface-subtle) 48%, var(--bg) 100%);grid-template-columns:minmax(300px,500px) minmax(0,1fr);align-items:center;gap:2rem;width:100%;height:100dvh;min-height:0;padding:2rem;display:grid;overflow:hidden}.game-area{box-sizing:border-box;width:100%;min-height:500px;color:var(--game-text);background:linear-gradient(180deg, var(--surface-subtle), transparent 42%), var(--game-surface);border:1px solid var(--game-line);box-shadow:var(--shadow-strong);border-radius:18px;justify-items:center;gap:1.5rem;padding:2rem;display:grid}.game-info{text-align:center;justify-items:center;gap:.8rem;width:100%;display:grid}.turn-pill{border:1px solid var(--border-strong);min-height:2rem;color:var(--game-muted);background:var(--game-surface-2);text-transform:uppercase;border-radius:999px;align-items:center;padding:0 .8rem;font-size:.78rem;font-weight:800;display:inline-flex}.turn-pill.active{color:var(--game-accent-contrast);border-color:var(--game-accent);background:var(--game-accent)}.turn-label{color:var(--game-muted);text-transform:uppercase;margin:0;font-size:.85rem;font-weight:700}.turn-player{color:var(--game-text);overflow-wrap:anywhere;margin:.25rem 0 0;font-size:clamp(2rem,8vw,3.25rem);font-weight:900;line-height:1}.turn-count{color:var(--game-muted);margin:0}.turn-count strong{color:var(--game-text)}.game-actions{width:min(100%,22rem)}.roll_button{width:100%;min-height:3.75rem;color:var(--game-accent-contrast);background:var(--game-accent);box-shadow:0 12px 24px var(--accent-bg);cursor:pointer;letter-spacing:0;border:0;border-radius:12px;justify-content:center;align-items:center;font-size:1rem;font-weight:900;transition:transform .18s,box-shadow .18s,filter .18s;display:flex}.roll_button:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 16px 30px var(--accent-bg);transform:translateY(-2px)}.roll_button:active{transform:translateY(1px)}.roll_button:disabled{cursor:not-allowed;color:var(--disabled-text);background:var(--disabled-bg);box-shadow:none;transform:none}.error{width:min(100%,22rem);color:var(--danger);margin:0;font-weight:700}.score-area{width:100%;min-width:0;max-height:100%;color:var(--game-text);scrollbar-color:var(--border-strong) transparent;overflow:hidden}.score-area-header{display:none}@media (width<=1280px) and (width>=901px){.game-container{grid-template-columns:minmax(280px,390px) minmax(0,1fr);gap:1rem;padding:1rem}.game-area{border-radius:14px;gap:1rem;min-height:0;padding:1.25rem}.turn-player{font-size:clamp(1.8rem,4vw,2.45rem)}.game-actions,.error{width:min(100%,18rem)}.roll_button{border-radius:10px;min-height:3.2rem}}@media (height<=860px) and (width>=901px){.game-container{align-items:start;gap:1rem;padding:1rem}.game-area{gap:.85rem;min-height:0;padding:1rem}.game-info{gap:.55rem}.turn-player{font-size:clamp(1.75rem,3vw,2.2rem)}.turn-pill{min-height:1.75rem;font-size:.68rem}.roll_button{min-height:3rem}}@media (width<=900px){.game-container{background:var(--bg);grid-template-columns:1fr;align-items:stretch;gap:0;height:auto;min-height:100dvh;padding:0;overflow:visible}.game-area{z-index:10;min-height:auto;box-shadow:var(--shadow);border-width:0 0 1px;border-radius:0;padding:1rem .85rem 1.1rem;position:sticky;top:0}.game-info{text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem}.turn-pill{min-height:1.75rem;padding:0 .65rem;font-size:.68rem}.turn-label{font-size:.68rem}.turn-player{max-width:100%;font-size:1.55rem}.turn-count{text-align:right;min-width:3rem;font-size:.8rem}.game-actions{width:100%}.roll_button{border-radius:10px;min-height:3.25rem}.error{width:100%;font-size:.9rem}.score-area{box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-color:var(--border-strong) transparent;padding:1rem .75rem 1.25rem;overflow:auto hidden}.score-area-header{justify-content:space-between;align-items:center;gap:1rem;min-width:max-content;padding:0 .15rem .75rem;display:flex}.score-area-header p{color:var(--game-text);margin:0;font-size:1.05rem;font-weight:900}.score-area-header span{color:var(--game-muted);text-transform:uppercase;font-size:.78rem;font-weight:800}}@media (width<=420px){.game-area{padding:.85rem .65rem .95rem}.game-info{grid-template-columns:1fr auto}.turn-pill{grid-column:1/-1;justify-self:start}.turn-player{font-size:1.35rem}}.diceRow{box-sizing:border-box;background:var(--surface-inset);border:1px solid var(--border-strong);border-radius:16px;grid-template-columns:repeat(5,3.8rem);justify-content:center;gap:.85rem;width:100%;padding:.75rem;display:grid;box-shadow:inset 0 2px 12px #231f2b14}.die{color:#17151b;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:radial-gradient(circle at 30% 25%,#ffffffd9,#0000 1.4rem),#fcfbf7;border:0;border-radius:12px;justify-content:center;align-items:center;width:3.8rem;height:3.8rem;margin:0;font-size:2rem;font-weight:900;transition:transform .18s,box-shadow .18s,background .18s;display:flex;box-shadow:inset 0 -5px #00000017,0 8px 16px #231f2b2e}.die:hover{transform:translateY(-3px)}.die.held{color:#302400;background:radial-gradient(circle at 30% 25%,#ffffffbf,#0000 1.35rem),#ffd54f;transform:translateY(-8px);box-shadow:inset 0 -5px #543b001f,0 12px 22px #946b0033}.die.disabled{cursor:default;opacity:.55}.remaining{color:var(--text);margin:0;padding:0;font-size:.95rem;font-weight:700}.remaining strong{color:var(--text-h)}@media (width<=1280px) and (width>=901px){.diceRow{border-radius:12px;grid-template-columns:repeat(5,3.15rem);gap:.55rem;padding:.6rem}.die{border-radius:10px;width:3.15rem;height:3.15rem;font-size:1.65rem}.remaining{font-size:.85rem}}@media (height<=940px) and (width>=901px){.diceRow{grid-template-columns:repeat(5,2.9rem);gap:.45rem;padding:.5rem}.die{width:2.9rem;height:2.9rem;font-size:1.45rem}.die.held{transform:translateY(-5px)}}@media (width<=900px){.diceRow{border-radius:12px;grid-template-columns:repeat(5,minmax(2.85rem,1fr));gap:.55rem;padding:.55rem}.die{aspect-ratio:1;border-radius:10px;width:100%;height:auto;font-size:1.5rem}.die:hover{transform:none}.die.held{transform:translateY(-5px)}.remaining{border:1px solid var(--border);background:var(--surface-subtle);text-align:center;border-radius:999px;justify-self:stretch;padding:.35rem .7rem;font-size:.82rem}}@media (prefers-color-scheme:dark){.diceRow{box-shadow:inset 0 2px 14px #00000073}.die{box-shadow:inset 0 -5px #00000017,0 8px 16px #00000059}}@media (width<=360px){.diceRow{gap:.4rem}.die{font-size:1.25rem}}.section{box-sizing:border-box;width:100%;max-width:600px;color:var(--text-h);margin:0 auto;padding:2rem 1rem}.section h2{text-align:center;margin:0 0 2rem;font-size:2rem}.player-container{flex-direction:column;gap:.75rem;margin-left:2rem;margin-right:2rem;display:flex}.results-player-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:transform .2s,background .2s,border-color .2s;display:flex}.results-player-card:hover{background:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-2px)}.player-position{background:var(--surface-inset);width:35px;height:35px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.player-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:1.1rem;font-weight:600;overflow:hidden}.player-score{white-space:nowrap;font-size:1.3rem;font-weight:700}.results-player-card.winner{background:var(--gold-bg);border:1px solid var(--gold-border);box-shadow:0 8px 20px #946b0024}.results-player-card.winner .player-position{background:var(--gold-border);color:#241b00}.results-player-card.winner .player-score{color:var(--gold)}.winner-label{background:var(--surface);color:var(--gold);white-space:nowrap;border-radius:999px;padding:.35rem .65rem;font-size:.85rem;font-weight:600}@media (width<=600px){.section{padding:1.5rem .75rem}.section h2{margin-bottom:1.5rem;font-size:1.6rem}.results-player-card{gap:.75rem;padding:.85rem}.player-position{width:32px;height:32px}.player-name{font-size:1rem}.player-score{font-size:1.15rem}.winner-label{padding:.3rem .5rem;font-size:.75rem}}.error{color:var(--danger)}
