:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--serif:ui-serif, "Iowan Old Style", Georgia, "Times New Roman", serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;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}}*,:before,:after{box-sizing:border-box}body{margin:0}#root{min-height:100svh}img,svg{max-width:100%}:root{--walnut:#7a4423;--walnut-dark:#5c3320;--walnut-light:#8f5837;--grass:#8aae42;--forest:#37582c;--sand:#d9be8a;--parchment:#f0e4cc;--lake:#2e86c1;--ink:#2b1d12;--bg:#f5efe2;--card:#fdfaf2;--line:#ddcaa6;--text:var(--ink);--muted:#7a6a55;--accent:var(--walnut);--accent-soft:#7a44231f;--positive:#4e7a2f;--negative:#a33b2a;--hex-ink:#5c332012;--radius:8px;--page:82rem}@media (prefers-color-scheme:dark){:root{--bg:#1b2017;--card:#242b1f;--line:#3a4430;--text:#ede3cc;--muted:#a69b84;--accent:#c98a4b;--accent-soft:#c98a4b29;--positive:var(--grass);--negative:#d98a7a;--hex-ink:#f0e4cc0d}}body{background:var(--bg);color:var(--text);font:15px/1.55 var(--sans);margin:0}body:before{content:"";z-index:-1;pointer-events:none;background-color:var(--hex-ink);position:fixed;inset:0;-webkit-mask-image:url(/hex-tile.svg);mask-image:url(/hex-tile.svg);-webkit-mask-size:48px;mask-size:48px}.app{max-width:var(--page);margin:0 auto;padding:1.5rem 1.75rem 4rem}.landing{text-align:center;padding-top:4rem}.landing .site-banner{aspect-ratio:11/6;object-fit:contain;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);width:min(100%,34rem);height:auto;margin:0 auto 1.5rem;display:block}h1{font-family:var(--serif);letter-spacing:-.01em;font-size:1.6rem;font-weight:600}h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.8rem}a{color:var(--accent);text-underline-offset:2px}section{margin-block:2rem}button{font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--text);cursor:pointer;padding:.45rem .95rem;transition:border-color .12s,background-color .12s}button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.45;cursor:default}.row{flex-wrap:wrap;gap:.5rem;display:flex}ul{gap:.5rem;padding:0;list-style:none;display:grid}li{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .8rem;display:flex}.empty,.note,.seq,.carried,.label{color:var(--muted);font-size:.9rem}.error{color:var(--negative)}.notice{border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;background:var(--card);padding:.6rem .8rem}.account{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.brand{color:var(--text);align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.brand-mark{border-radius:var(--radius);object-fit:cover;flex:none;width:40px;height:40px}.wordmark{font-family:var(--serif);letter-spacing:.02em;color:var(--text);font-size:1.05rem;font-weight:600;text-decoration:none}.game-header{align-items:baseline;gap:1rem;display:flex}.game-header h1{flex:1}.positive{color:var(--positive)}.negative{color:var(--negative)}.cards{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}.card{font-variant-numeric:tabular-nums;min-width:2.4rem}.hand{margin-top:2rem}.result{margin-top:1.5rem;font-weight:600}.overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10;background:#0a0b0dd1;place-items:center;display:grid;position:fixed;inset:0}.overlay-card{text-align:center;border:1px solid var(--line);background:var(--card);border-radius:10px;max-width:22rem;padding:1.5rem}.overlay-actions{justify-content:center;align-items:center;gap:1rem;display:flex}.invite{color:var(--muted);margin-block:1rem;font-size:.85rem;display:block}.invite input{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:6px;margin-top:.3rem;padding:.45rem .6rem;display:block}.wordmark{letter-spacing:-.01em;font-weight:600;text-decoration:none}.account-menu{position:relative}.account-trigger{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .7rem}.account-trigger:hover{border-color:var(--accent)}.account-dropdown{z-index:20;border:1px solid var(--line);background:var(--card);border-radius:8px;flex-direction:column;min-width:10rem;display:flex;position:absolute;top:calc(100% + .35rem);right:0;overflow:hidden}.account-dropdown a,.account-dropdown button{text-align:left;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;padding:.55rem .8rem;text-decoration:none}.account-dropdown a:hover,.account-dropdown button:hover{background:var(--line)}.field{margin-block:1rem;display:block}.field input{border:1px solid var(--line);background:var(--bg);width:100%;max-width:20rem;color:var(--text);font:inherit;border-radius:6px;margin-top:.35rem;padding:.5rem .65rem;display:block}.field input:invalid{border-color:var(--negative)}.locked-value{margin:.35rem 0 0;font-size:1.1rem}.hint{color:var(--muted);margin-top:.35rem;font-size:.85rem;display:block}.muted,.seated{color:var(--muted)}code{color:var(--muted);font-size:.85rem}.history{margin:0;padding:0;list-style:none}.history li{border-bottom:1px solid var(--line);padding:.7rem 0}.history-line{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.pager{justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.pager button{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.4rem .8rem}.pager button:disabled{opacity:.4;cursor:default}.chess-board{aspect-ratio:1;border:1px solid var(--line);border-radius:4px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:min(100%,30rem);margin-block:1rem;display:grid;overflow:hidden}.chess-square{cursor:pointer;aspect-ratio:1;color:#101216;text-shadow:0 0 1px #ffffff8c;border:0;place-items:center;min-width:0;min-height:0;padding:0;font-size:clamp(1.2rem,6vw,2.2rem);line-height:1;display:grid;overflow:hidden}.chess-square.light{background:#cfd3da}.chess-square.dark{background:#8c95a3}.chess-square:disabled{cursor:default}.chess-square.last{box-shadow:inset 0 0 0 3px #7aa2f78c}.chess-square.selected{box-shadow:inset 0 0 0 3px var(--accent)}.chess-square.target:after{content:"";aspect-ratio:1;background:#7aa2f7b3;border-radius:50%;width:28%}.chess-square.capture{box-shadow:inset 0 0 0 4px #e08a8acc}.chess-status{margin-bottom:0}.promotion{flex-wrap:wrap;align-items:center;gap:.5rem;margin-block:.75rem;display:flex}.promotion button{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .7rem}button.danger{border:1px solid var(--negative);color:var(--negative);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.4rem .8rem}button.danger:hover:not(:disabled){background:#e08a8a1f}.tile{border:1px solid var(--line);width:3.4rem;height:4.8rem;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;background:linear-gradient(160deg,#22262e,#171a20);border-radius:8px;flex:none;place-items:center;padding:0;display:grid;position:relative;box-shadow:0 1px 2px #00000059}.tile .face{font-size:1.5rem;font-weight:600;line-height:1}.tile .corner{color:var(--muted);font-size:.7rem;position:absolute;top:.25rem;left:.35rem}.tile .corner.bottom{inset:auto .35rem .25rem auto;rotate:180deg}.tile.prize.good{color:var(--positive);border-color:#8fce7f8c}.tile.prize.bad{color:var(--negative);border-color:#e08a8a8c}.tile.prize .corner{color:inherit;opacity:.7}button.tile.hand-card{cursor:pointer;transition:transform .12s,border-color .12s}button.tile.hand-card:hover:not(:disabled){border-color:var(--accent);transform:translateY(-.4rem)}button.tile.hand-card:disabled{opacity:.45;cursor:default}.tile.back{border-color:var(--line);background:repeating-linear-gradient(45deg,#2b3038 0 6px,#232830 6px 12px)}.tile.empty{opacity:.5;background:0 0;border-style:dashed}.tile.revealed{border-color:var(--accent);animation:.26s ease-out raj-reveal}.prizes{margin-block:1.25rem}.prizes .pot-line{color:var(--muted);margin:.6rem 0 0}.prizes .pot-line strong{font-size:1.3rem}.tiles{flex-wrap:wrap;gap:.5rem;margin-top:.4rem;display:flex}.seats{flex-wrap:wrap;gap:1.25rem;margin-block:1.5rem;display:flex}.seat{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.seat .seat-name{font-weight:500}.seat .muted{font-size:.8rem}.seat.you .seat-name{color:var(--accent)}.hand .cards{margin-top:.4rem}.played-slot{border-bottom:1px solid var(--line);justify-content:center;align-items:center;min-height:5.4rem;margin-bottom:1rem;display:flex}@keyframes raj-play{0%{opacity:0;transform:translateY(5rem)scale(.8)}60%{opacity:1;transform:translateY(-.4rem)scale(1.04)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes raj-reveal{0%{opacity:0;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0)}}.tile.played{border-color:var(--accent);animation:.42s cubic-bezier(.22,1,.36,1) raj-play}@media (prefers-reduced-motion:reduce){.tile.played,.tile.revealed{animation:none}button.tile.hand-card:hover:not(:disabled){transform:none}}.replay-bar{border:1px solid var(--line);background:var(--card);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-block:1rem;padding:.6rem .75rem;display:flex}.replay-bar button{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.3rem .7rem}.replay-bar button:disabled{opacity:.4;cursor:default}.lobby-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem;display:flex}.account-side{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.online-panel{color:var(--muted);align-items:flex-start;gap:.5rem;font-size:.85rem;display:flex}.online-box{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);min-width:11rem;padding:.5rem .7rem}.online-count{margin:0}.online-heading{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 .35rem;font-size:.7rem;font-weight:600}.online-none{margin:0}.online-none a{color:var(--muted);text-decoration:none}.online-none a:hover{color:var(--accent)}.online-more{margin:.35rem 0 0;font-size:.8rem}.online-more a{color:var(--muted)}.online-friends{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.online-friends li{color:var(--text);background:0 0;border:0;padding:0;line-height:1.45;display:block}.online-friends a{color:inherit;text-decoration:none}.online-friends a:hover .chip-name{color:var(--accent)}.player-chip{vertical-align:middle;align-items:center;gap:.45rem;min-width:9.5rem;max-width:100%;display:inline-flex}.chip-avatar{object-fit:cover;background:var(--bg);border:1px solid var(--line);border-radius:50%;flex:none}.chip-avatar-placeholder{letter-spacing:.02em;color:var(--muted);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.seat-list{flex-wrap:wrap;gap:.35rem 1rem;display:flex}.table-row{align-items:center;gap:1rem}.table-main{flex:16rem;min-width:0}.online-dot{background:var(--positive);vertical-align:middle;border-radius:50%;width:.45rem;height:.45rem;margin-right:.35rem;display:inline-block}.online-inline{margin-top:-.35rem}.game-tiles{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.game-tiles li{background:0 0;border:0;padding:0;display:block}.game-tile{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);text-align:left;cursor:pointer;flex-direction:column;width:100%;padding:0;display:flex;overflow:hidden}.game-tile:hover:not(:disabled){border-color:var(--accent);background:var(--card)}.game-tile:hover:not(:disabled) .game-tile-art{transform:scale(1.03)}.game-tile-art{aspect-ratio:11/6;object-fit:cover;background:var(--bg);width:100%;height:auto;transition:transform .16s;display:block}@media (prefers-reduced-motion:reduce){.game-tile-art{transition:none}.game-tile:hover:not(:disabled) .game-tile-art{transform:none}}.friend-add{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.friend-add label{flex-direction:column;gap:.3rem;display:flex}.friend-list{margin:0;padding:0;list-style:none}.friend-list li{border:1px solid var(--line);background:var(--card);border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.4rem;padding:.5rem .7rem;display:flex}.friend-name{color:var(--text)}@media (width<=46rem){.online-panel{flex-direction:column;align-items:stretch}.online-box,.player-chip{min-width:0}}@media (width<=30rem){.friend-list li{flex-direction:column;align-items:flex-start}}.f7-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.f7-event{margin-block:.75rem}.f7-seats{flex-direction:column;gap:.75rem;margin-block:1.25rem;display:flex}.f7-seat{border:1px solid var(--line);background:var(--card);border-left-width:3px;border-radius:6px;padding:.7rem .85rem}.f7-seat.you{border-left-color:var(--accent)}.f7-seat.on-turn{border-color:var(--accent)}.f7-seat.out{opacity:.55}.f7-seat-head{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.f7-seat-head .seat-name{font-weight:500}.f7-seat-foot{margin-top:.4rem;font-size:.8rem;display:block}.f7-status{text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.f7-status.active{color:var(--accent)}.f7-status.stayed{color:var(--muted)}.f7-status.frozen{color:#8fb8e0}.f7-status.busted{color:var(--negative)}.f7-row{gap:.35rem}.tile.f7-card{width:2.1rem;height:2.8rem}.tile.f7-card .face{font-size:1.05rem}.tile.f7-card.f7-modifier{color:var(--positive);border-color:#8fce7f8c}.f7-actions{margin-top:1rem}.f7-actions p{margin-bottom:.5rem}@media (width<=30rem){.tile.f7-card{width:1.8rem;height:2.4rem}.tile.f7-card .face{font-size:.95rem}}.player-card{align-items:flex-start;gap:1rem;display:flex}.player-card-text{flex:1;min-width:0}.player-name{text-transform:none;letter-spacing:0;color:var(--text);margin:0;font-size:1.2rem}.player-description{white-space:pre-line;overflow-wrap:anywhere;margin-top:.5rem}.avatar{object-fit:cover;background:var(--card);border:1px solid var(--line);border-radius:10px;flex:none;width:96px;height:96px}.avatar-placeholder{color:var(--muted);justify-content:center;align-items:center;font-size:1.6rem;font-weight:600;display:flex}.avatar-edit{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.avatar-edit input[type=file]{color:var(--muted)}.totals{flex-wrap:wrap;gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}.totals strong{color:var(--text);font-size:1.15rem}.totals li{color:var(--muted);font-size:.85rem}.table-scroll{overflow-x:auto}.stats{border-collapse:collapse;width:100%;font-size:.9rem}.stats caption{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding-bottom:.5rem;font-size:.95rem}.stats th,.stats td{text-align:right;white-space:nowrap;padding:.4rem .6rem}.stats th[scope=row]{text-align:left;color:var(--text);font-weight:400}.stats thead th{border-bottom:1px solid var(--line)}.stats tbody tr:nth-child(2n){background:var(--card)}.sortable,.linkish{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.sortable{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.sortable:hover,.linkish:hover{color:var(--accent);border-color:#0000}.linkish{color:var(--accent)}.field textarea{border:1px solid var(--line);background:var(--card);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:6px;padding:.6rem .8rem}.field select{border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;border-radius:6px;padding:.6rem .8rem}@media (width<=30rem){.player-card{flex-direction:column}.totals{gap:.85rem}}.justone{flex-direction:column;gap:1rem;display:flex}.justone-status{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.justone-status .score strong{font-size:1.2rem}.justone .mystery{text-align:center;border-radius:.6rem;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;min-height:4.5rem;padding:.75rem 1rem;display:flex}.justone .mystery.known{background:color-mix(in oklab, currentColor 8%, transparent);border:1px solid color-mix(in oklab, currentColor 20%, transparent)}.justone .mystery.hidden{border:1px dashed color-mix(in oklab, currentColor 25%, transparent)}.justone .mystery .caption{opacity:.7;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}.justone .mystery .word{font-size:1.8rem;line-height:1.1}.justone-seats{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.justone-seats li{border:1px solid color-mix(in oklab, currentColor 18%, transparent);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .6rem;display:flex}.justone-seats li.you{border-color:color-mix(in oklab, currentColor 45%, transparent)}.justone-seats .badge{text-transform:uppercase;letter-spacing:.05em;background:color-mix(in oklab, currentColor 12%, transparent);border-radius:999px;padding:.1rem .4rem;font-size:.7rem}.justone-seats .badge.guessing{background:oklab(80.4482% .0202283 .154439/.4)}.justone-seats .badge.checking{background:oklab(68.5072% -.0406654 -.16309/.35)}.justone-seats .badge.ready{background:oklab(69.5081% -.149324 .102163/.32)}.justone .turn{flex-direction:column;gap:.6rem;display:flex}.justone .row{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.justone .row .grow{flex-direction:column;flex:12rem;gap:.2rem;display:flex}.justone .numbers button{min-width:3rem;font-size:1.1rem}.justone .small{font-size:.8rem}.justone .clue-list{flex-wrap:wrap;gap:.4rem;display:flex}.justone .clue{border:1px solid color-mix(in oklab, currentColor 20%, transparent);border-radius:.5rem;flex-direction:column;gap:.1rem;min-width:5rem;padding:.4rem .7rem;display:flex}.justone .clue .clue-text{font-size:1.1rem}.justone .clue .clue-by,.justone .clue .verdict{opacity:.7;font-size:.72rem}.justone .clue.current{border-color:oklab(80.4482% .0202283 .154439/.7);box-shadow:0 0 0 2px oklab(80.4482% .0202283 .154439/.3)}.justone .clue.waiting{opacity:.55}.justone .clue.kept{border-color:oklab(69.5081% -.149324 .102163/.55)}.justone .clue.cut{opacity:.75;border-color:oklab(66.5118% .18236 .0927555/.45)}.justone .clue.cut .clue-text{text-decoration:line-through}.justone .verdict-row{background:color-mix(in oklab, currentColor 6%, transparent);border-radius:.6rem;align-items:center;padding:.6rem}.justone .deciding{flex-direction:column;flex:8rem;display:flex}.justone .deciding strong{font-size:1.3rem}.justone .last-round{border-left:4px solid color-mix(in oklab, currentColor 30%, transparent);border-radius:.6rem;flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex}.justone .last-round h3{margin:0;font-size:1rem}.justone .last-round p{margin:0}.justone .last-round.won{border-left-color:#3fb950}.justone .last-round.missed{border-left-color:#f85149}.justone .last-round.passed{border-left-color:#f0b429}.seat.winner .seat-name{color:var(--positive)}.seat.winner .tile.revealed{border-color:var(--positive);box-shadow:0 0 0 2px #4e7a2f40}.took-pot{text-transform:uppercase;letter-spacing:.06em;color:var(--positive);font-size:.7rem}.tile.f7-card.f7-spent{opacity:.6;border-style:dashed}.tile.f7-card.f7-bust{border-color:var(--negative);color:var(--negative);opacity:1;border-style:solid}.tile.f7-card.f7-action{color:#8fb8e0;border-color:#8fb8e0}.tile.f7-card.f7-action .face{font-size:1.15rem}.tile.f7-card.f7-action .corner{text-align:center;letter-spacing:.02em;opacity:.85;color:inherit;font-size:.45rem;inset:auto 0 .15rem}.account-trigger{align-items:center;gap:.4rem;padding:.3rem .6rem;display:inline-flex}.account-caret{color:var(--muted);flex:none}.account-dropdown{min-width:100%}.friend-actions{flex-direction:column;align-items:flex-start;gap:.6rem;margin-block:1.25rem;display:flex}.friend-actions p{margin:0}.justone-status .rules-link{color:var(--muted);border-bottom:1px solid var(--line);font-size:.85rem;text-decoration:none}.justone-status .rules-link:hover{color:var(--accent);border-bottom-color:var(--accent)}
