:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#2b2420;--cream:#fffaf0;--green:#236449;--paper:#fff7e8;--wood:#bd8551;--gold:#edbb4b;--shadow:0 4px 0 var(--ink);color:var(--ink);font-family:Fredoka,system-ui,sans-serif}*{box-sizing:border-box}html,body{background:#e4dfd6;height:100%;margin:0;overflow:hidden}canvas{touch-action:manipulation;width:100%;height:100%;display:block}button,input,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #3f6fd6}::selection{color:#fff;background:#3f6fd6}[hidden]{display:none!important}.toolbar{left:14px;right:14px;top:max(12px,env(safe-area-inset-top));z-index:4;pointer-events:none;justify-content:space-between;align-items:center;gap:10px;display:flex;position:fixed}.toolbar>*{pointer-events:auto}.brand{color:var(--ink);font-size:28px;font-weight:700;line-height:1;text-decoration:none}.brand span{margin-top:4px;font-size:12px;font-weight:500;display:block}.back-games{color:var(--ink);text-underline-offset:3px;margin-bottom:12px;font-size:14px;display:inline-block}nav{align-items:center;gap:7px;display:flex}.tool,.quiet{border:2px solid var(--ink);background:var(--cream);min-height:42px;box-shadow:var(--shadow);border-radius:12px;padding:10px 12px;font-weight:600}.tool:hover,.quiet:hover{background:#e6efdf}.tool:active,.primary:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}#hint{border:2px solid var(--ink);background:var(--cream);max-width:calc(100vw - 28px);box-shadow:var(--shadow);text-align:center;z-index:3;border-radius:99px;width:max-content;padding:9px 18px;font-size:15px;font-weight:500;position:fixed;top:68px;left:50%;transform:translate(-50%)}#yourProgress{align-items:center;margin-top:7px;font-size:13px;display:flex}#progressPips,.tag span{gap:4px;display:flex}#progressPips i,.tag i{border:1px solid var(--ink);background:#ded6c9;border-radius:50%;width:8px;height:8px;display:block}#progressPips i.on,.tag i.on{background:#2fa866}.tag{border:2px solid var(--ink);background:var(--cream);pointer-events:none;white-space:nowrap;border-radius:10px;justify-items:center;gap:3px;padding:4px 8px 5px;font-size:11px;display:grid;position:fixed;top:0;left:0;box-shadow:0 2px 5px #17120f18}.tag i{width:7px;height:7px}#cardTargets{pointer-events:none;position:fixed;inset:0}.card-hit{pointer-events:auto;touch-action:manipulation;background:0 0;border:2px solid #0000;border-radius:8px;padding:0;position:absolute}.card-hit:focus-visible{outline-offset:3px;background:#3f6fd614;outline:3px solid #3f6fd6}.card-hit.pile:after{content:attr(data-pile);background:var(--cream);border:1px solid var(--ink);border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;display:grid;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.card-hit.pile.held{border:3px solid #3f6fd6}.card-hit.pile.done:after{content:"✓";color:#fff;background:var(--green)}.card-hit.pile:after{transition:opacity .15s}.picking .card-hit.pile:after{opacity:0}.picking .card-hit.pile.held{border-color:#0000}.vol-row{gap:4px;padding:4px 6px 2px;font-size:13px;font-weight:600;display:grid}.vol-row input{width:100%;accent-color:var(--gold)}.tutorial-btn{width:100%;margin-bottom:10px;display:block}.tutorial-btn.first{background:#e2f6e9}.coach{z-index:6;border:2.5px solid var(--ink);background:var(--paper);width:min(420px,100vw - 28px);box-shadow:0 0 0 3px var(--wood),0 0 0 5px var(--ink),0 6px 14px #17120f30;text-align:center;border-radius:18px;padding:12px 14px 10px;position:fixed;top:112px;left:50%;transform:translate(-50%)}.coach.low{top:auto;bottom:max(14px,env(safe-area-inset-bottom))}.coach p{margin:0 0 8px;font-size:15px;font-weight:500;line-height:1.35}.coach.compact{padding:8px 12px 6px}.coach.compact p{margin:0 0 2px;font-size:14px}.coach .coach-next{width:auto;min-height:38px;margin:0 6px 2px;padding:6px 28px;font-size:16px;display:inline-block}.coach-next[hidden]{display:none}.coach-skip{color:var(--ink);opacity:.7;cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:13px;text-decoration:underline;display:inline-block}.coach-hand{z-index:7;pointer-events:none;filter:drop-shadow(0 3px #2b242055);margin:-4px 0 0 -14px;font-size:38px;line-height:1;position:fixed;top:0;left:0}.coach-hand[hidden]{display:none}@media (prefers-reduced-motion:no-preference){.coach-hand{animation:1s ease-in-out infinite coach-tap}}@keyframes coach-tap{50%{margin-top:10px}}body.coaching #notice{top:auto;bottom:44%}#handLabel{border:2px solid var(--ink);background:var(--cream);pointer-events:none;white-space:nowrap;border-radius:99px;padding:5px 12px;font-size:13px;font-weight:500;position:fixed;left:50%;transform:translate(-50%)}.primary{width:100%;min-height:48px;color:var(--ink);border:2.5px solid var(--ink);box-shadow:var(--shadow);background:#f3c653;border-radius:14px;padding:13px 20px;font-size:18px;font-weight:600;display:block}.primary:hover{background:#ffda70}.slam{width:auto;min-width:180px;color:var(--cream);z-index:4;background:#b2434e;position:fixed;top:170px;left:50%;transform:translate(-50%)}.slam:active{transform:translate(-50%,2px)}#notice{border:2px solid var(--ink);background:var(--cream);text-align:center;z-index:8;border-radius:14px;max-width:calc(100vw - 28px);padding:10px 18px;position:fixed;top:160px;left:50%;transform:translate(-50%)}dialog{scrollbar-color:#9b8f79 var(--cream);border:3px solid var(--ink);background:var(--paper);width:min(460px,100vw - 48px);max-height:calc(100dvh - 48px);box-shadow:0 0 0 6px var(--wood),0 0 0 9px var(--ink),0 14px 35px #17120f50;color:var(--ink);z-index:10;border-radius:22px;margin:auto;padding:24px;position:fixed;overflow:auto}dialog::backdrop{background:#111a24a8}h1{text-wrap:balance;margin:0 0 12px;font-size:clamp(36px,7vw,44px);font-weight:700;line-height:1.06}h2{margin:4px 0 16px;font-size:28px}p{margin:12px 0 18px;line-height:1.4}label{gap:6px;font-size:14px;font-weight:500;display:grid}input,select{border:2px solid var(--ink);background:var(--cream);width:100%;min-width:0;caret-color:var(--green);border-radius:10px;padding:10px 12px;font-size:16px}input::placeholder{color:#786a56;opacity:1}.form-row{grid-template-columns:1fr 1fr;gap:14px;margin:16px 0;display:grid}fieldset{border:0;margin:18px 0 0;padding:0}legend{margin-bottom:8px;font-size:14px;font-weight:500}.variants{grid-template-columns:1fr 1fr;gap:10px;display:grid}.variants label{border:2.5px solid var(--ink);cursor:pointer;box-shadow:var(--shadow);background:var(--cream);border-radius:12px;grid-template-columns:20px 1fr;column-gap:8px;padding:10px;position:relative}.variants input{width:18px;height:18px;accent-color:var(--green);margin:0;padding:0}.variants span{grid-column:2;font-size:13px;font-weight:400}.variants label:has(:checked){background:#e4efdf}.note{color:#61543f;font-size:13px}.quiet{width:100%;box-shadow:none;background:0 0;border:0;margin-top:10px;display:block}.close{width:36px;min-height:36px;padding:4px;position:absolute;top:10px;right:10px}ol{padding-left:24px}li{margin:12px 0;padding-left:4px;line-height:1.45}#looks{border:3px solid var(--ink);background:var(--paper);width:min(360px,100vw - 40px);box-shadow:0 0 0 4px var(--wood),0 0 0 6px var(--ink),0 8px 18px #17120f40;z-index:9;border-radius:20px;padding:10px 16px 16px;position:fixed;top:64px;right:14px}#looks p{margin:12px 0 8px;font-size:13px}.row{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.row.three{grid-template-columns:repeat(3,1fr)}.pick{background:var(--cream);border:2px solid #a99a81;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px 2px;font-size:12px;font-weight:500;display:flex}.pick i{border-radius:8px;width:30px;height:30px;font-size:11px;font-style:normal;display:block}.pick i.em{display:none}.pick.sel{border-color:var(--green);background:#e4efdf}#magnify{text-align:center;background:#d9cab0}#bigCard{object-fit:contain;border-radius:18px;width:min(100%,250px);max-height:50dvh;margin:10px auto 18px;display:block}#magnify h2{text-transform:capitalize;margin-bottom:8px;font-size:24px}#standings{gap:8px;margin:20px 0 24px;display:grid}.standing{border-bottom:1px solid #c6b69c;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:6px 0;font-size:15px;display:grid}.standing span{overflow-wrap:anywhere}body.dark{background:#0d0f1a}body.dark .brand{color:var(--ink)}body.dark #hint,body.dark #handLabel{color:var(--ink);background:var(--cream);border-color:var(--ink)}.identity{background:var(--cream);border:2.5px solid var(--ink);box-shadow:var(--shadow);border-radius:14px;min-width:100px;padding:7px 11px 8px}.toolbar nav .tool{align-items:center;gap:7px;display:flex}.tool svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.tool:disabled{opacity:.4;box-shadow:none}.game-title{text-align:center;margin-bottom:16px}.game-title h1{margin-bottom:10px}.game-title p{margin:9px 0 0;font-size:15px}.colour-bar{border:2px solid var(--ink);border-radius:99px;width:102px;height:12px;margin:auto;display:flex;overflow:hidden}.colour-bar i{background:#e8553f;flex:1}.colour-bar i:nth-child(2){background:#e9b43c}.colour-bar i:nth-child(3){background:#5fc49a}.colour-bar i:nth-child(4){background:#3f6fd6}#nickname{margin-top:6px}.player-stepper{grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;display:grid}.player-stepper .tool{height:46px;padding:6px;font-size:26px;line-height:1}.player-stepper output{border:2.5px solid var(--ink);background:#f8e9bd;border-radius:12px;place-items:center;min-height:46px;font-size:28px;font-weight:600;display:grid}#seatPreview{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}#seatPreview i{background:var(--seat);width:27px;height:27px;color:var(--ink);border:2px solid var(--ink);border-radius:50%;flex:none;place-items:center;font-size:11px;font-style:normal;display:grid;box-shadow:inset 0 3px #ffffff70}#seatPreview i:first-child{background:var(--cream);width:36px}.seat-summary{flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;margin-top:12px;display:flex}.seat-note{text-align:center;color:#61543f;margin:0;font-size:12px}.setup-actions{background:var(--paper);z-index:2;padding:12px 0 6px;position:sticky;bottom:-20px}.speed-choices{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.speed-choices .tool{background:var(--cream);padding:10px 4px}.speed-choices [aria-pressed=true]{background:#d8ad78}#setup .note{text-align:center;margin:18px 0 14px}.table-menu{border:3px solid var(--ink);background:var(--paper);width:210px;box-shadow:0 0 0 4px var(--wood),0 0 0 6px var(--ink),0 8px 18px #17120f40;z-index:8;border-radius:16px;gap:9px;padding:12px;display:grid;position:absolute;top:58px;right:0}.table-menu .tool{justify-content:center;align-items:center;gap:8px;display:flex}.play-choices{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;display:grid}.play-choices [aria-pressed=true]{background:#d8ad78}.extra-options{border-top:1px solid #c6b69c;margin-top:20px;padding-top:16px}.extra-options summary{cursor:pointer;min-height:40px;font-size:15px;font-weight:500}.extra-options summary span{color:#61543f;margin:5px 0 0 18px;font-size:13px;font-weight:400;display:block}.extra-options summary:focus-visible{outline-offset:4px;border-radius:4px;outline:3px solid #3f6fd6}.join-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:6px;display:grid}#joinCode{text-transform:uppercase;letter-spacing:.12em}#openTables{gap:8px;margin-top:14px;display:grid}.open-table{text-align:left;overflow-wrap:anywhere}.room-code{letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;font-size:36px;font-weight:600}.room-seats{gap:10px;margin:18px 0;display:grid}.room-seat{text-align:left;overflow-wrap:anywhere;width:100%}.room-seat:not(button){border-bottom:1px solid #c6b69c;padding:12px}#takeBack{z-index:6;background:var(--gold);position:fixed;bottom:16px;left:50%;transform:translate(-50%)}@media (width<=600px){.toolbar{gap:6px;left:10px;right:10px}.brand{font-size:24px}.brand span{font-size:11px}nav{gap:4px}.tool{border-radius:10px;min-height:40px;padding:8px 10px}#newGame{font-size:12px}#hint{max-width:calc(100vw - 140px);padding:7px 12px;font-size:12px;top:72px;left:auto;right:10px;transform:none}#handLabel{font-size:12px}.tag{gap:2px;padding:3px 5px;font-size:11px}.tag i{width:5px;height:5px}.tag span{gap:2px}.card-hit.pile:after{width:16px;height:16px;font-size:11px;bottom:1px}dialog{padding:20px}#notice{font-size:13px;top:145px}}@media (width>=601px) and (aspect-ratio>=1){#hint{text-align:left;border-radius:14px;max-width:min(22vw,280px);top:110px;left:18px;right:auto;transform:none}}@media (height<=620px) and (orientation:landscape){#hint{text-align:left;border-radius:14px;max-width:min(24vw,230px);font-size:12px;top:96px;left:14px;right:auto;transform:none}#yourProgress{top:64px}dialog{padding:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--back:#27335f;--edge:#ddcfb6;--stud:#f2c14e;--ivory:#f3e9d4;--honey:#d9a441;--brick:#a8473a;--soft:0 1px 0 #0005,0 2px 4px #0003;--shadow:0 4px 8px #0004}.identity,#hint,#handLabel,#notice,body.dark :is(#hint,#handLabel){color:var(--ivory);text-shadow:var(--soft);background:linear-gradient(#34427a,var(--back));box-shadow:inset 0 0 0 2.5px var(--edge),0 4px 8px #0005;border:0}.identity{border-radius:16px;padding:8px 14px 9px}.brand,body.dark .brand{color:var(--ivory)}#progressPips i,.tag i{background:#fff3;border:0;box-shadow:inset 0 1px 2px #0006}#progressPips i.on,.tag i.on{background:radial-gradient(circle at 40% 35%,#ffe7a0,var(--stud) 60%,#a87a2c);box-shadow:0 1px 2px #0006}.tag{color:var(--ivory);background:linear-gradient(#34427a,var(--back));box-shadow:inset 0 0 0 2px var(--edge),0 3px 6px #0005;border:0}#notice{background:linear-gradient(#b85a4b,var(--brick))}.toolbar nav{gap:8px}.toolbar nav .tool{color:#0000;width:46px;height:46px;min-height:0;box-shadow:none;background:radial-gradient(circle at 50% 35%,#3c4a84,var(--back) 62%,var(--edge) 64%);filter:drop-shadow(0 4px 5px #0007);border:0;border-radius:50%;padding:0;font-size:0;transition:transform 80ms}.toolbar nav .tool svg,.close svg{display:none}.toolbar nav .tool:hover{background:radial-gradient(circle at 50% 35%,#3c4a84,var(--back) 62%,var(--edge) 64%)}.toolbar nav .tool:active{box-shadow:none;transform:translateY(2px)scale(.94)}.baked .toolbar nav .tool,.baked .close{background:var(--art) center/contain no-repeat}#pause{--art:var(--cap-pause)}#pause.on{--art:var(--cap-play)}#tableMenu{--art:var(--cap-more)}.close{--art:var(--cap-close);color:#0000;width:38px;height:38px;min-height:38px;box-shadow:none;background:radial-gradient(circle at 50% 35%,#3c4a84,var(--back) 62%,var(--edge) 64%);filter:drop-shadow(0 3px 4px #0006);border:0;border-radius:50%;padding:0;font-size:0}.close:hover{background:radial-gradient(circle at 50% 35%,#3c4a84,var(--back) 62%,var(--edge) 64%)}.primary,.quiet,#takeBack,dialog .tool:not(.close),.table-menu .tool{border:0;border-radius:99px;min-height:46px;font-weight:600;transition:transform 80ms;box-shadow:0 4px 8px #0004}.primary,#takeBack{color:#3e2a0c;text-shadow:0 1px #fff6;background:linear-gradient(#f1cf86,var(--honey))}.slam{color:var(--ivory);text-shadow:0 2px #4a1a16;background:linear-gradient(#c96655,var(--brick));letter-spacing:.04em}.quiet,dialog .tool:not(.close),.table-menu .tool{color:var(--ivory);text-shadow:var(--soft);background:linear-gradient(#34427a,var(--back))}.primary:hover,#takeBack:hover{background:linear-gradient(#f1cf86,var(--honey))}.slam:hover{background:linear-gradient(#c96655,var(--brick))}.quiet:hover,dialog .tool:not(.close):hover,.table-menu .tool:hover{background:linear-gradient(#34427a,var(--back))}:is(.primary,.quiet,dialog .tool:not(.close),.table-menu .tool):active{transform:translateY(2px)scale(.98);box-shadow:0 2px 4px #0004}.baked :is(.primary,.quiet,#takeBack,dialog .tool:not(.close),.table-menu .tool){box-shadow:none;filter:drop-shadow(0 4px 5px #0005);border-style:solid;border-image:var(--pill) 45% 16% fill/22px 24px stretch;background:0 0;border-radius:0}.primary,#takeBack{--pill:var(--pill-honey)}.slam{--pill:var(--pill-brick)}.quiet,dialog .tool,.table-menu .tool{--pill:var(--pill-navy)}.quiet{width:100%;margin-top:10px;display:block}dialog .tool[aria-pressed=true],.speed-choices [aria-pressed=true],.play-choices [aria-pressed=true]{--pill:var(--pill-honey);color:#3e2a0c;text-shadow:0 1px #fff6;background:linear-gradient(#f1cf86,var(--honey))}.baked dialog .tool[aria-pressed=true]{background:0 0}dialog .tool.tutorial-btn.first{--pill:var(--pill-honey);color:#3e2a0c;text-shadow:0 1px #fff6;background:linear-gradient(#f1cf86,var(--honey))}.baked dialog .tool.tutorial-btn.first{background:0 0}.table-menu .tool svg{stroke:var(--stud)}.primary:disabled{opacity:.6}dialog,#looks,.table-menu,.coach{color:var(--ink);box-shadow:inset 0 0 0 5px var(--edge),inset 0 0 0 6.5px #c9a04a,0 0 0 4px var(--back),0 6px 0 #161d38,0 18px 36px #0008;background:radial-gradient(at 50% 35%,#fbf3e2,#eadcc0 80%);border:0}dialog[open]{animation:.32s cubic-bezier(.2,1.4,.4,1) deal}@keyframes deal{0%{opacity:0;transform:translateY(14px)scale(.95)}}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c0e20a0}dialog h1,dialog h2{color:var(--back)}#resultTitle{color:var(--ivory);text-shadow:0 2px #151c33;background:linear-gradient(#3c4a84,var(--back) 60%,#1a2346);clip-path:polygon(0 0,100% 0,94% 50%,100% 100%,0 100%,6% 50%);margin:0 auto 14px;padding:6px 34px 9px;font-size:32px;display:table}.back-games{color:var(--back)}input,select{background:#fffaf0;border:0;border-radius:12px;box-shadow:inset 0 0 0 1.5px #b9a57f,inset 0 2px 4px #5a462a33}.colour-bar{box-shadow:0 0 0 2px var(--edge),0 2px 4px #0003;border:0}#seatPreview i{box-shadow:inset 0 3px #ffffff70,0 0 0 2px var(--edge),0 2px 4px #0004;border:0}.player-stepper output{color:var(--back);background:#fffaf0;border:0;box-shadow:inset 0 0 0 1.5px #b9a57f}.player-stepper .tool{padding:0;font-size:26px}.variants label{background:#fffaf0;border:0;box-shadow:inset 0 0 0 1.5px #b9a57f,0 3px 6px #5a462a22}.variants label:has(:checked){box-shadow:inset 0 0 0 2.5px var(--honey),0 3px 6px #5a462a22;background:#f6e3b4}.pick{background:#fffaf0;border:0;box-shadow:inset 0 0 0 1.5px #b9a57f}.pick.sel{box-shadow:inset 0 0 0 2.5px var(--honey);background:#f6e3b4}.card-hit.pile:after{color:var(--ivory);background:var(--back);box-shadow:0 0 0 1.5px var(--edge),0 2px 3px #0006;border:0}.card-hit.pile.done:after{background:radial-gradient(circle at 40% 35%,#ffe7a0,var(--stud) 60%,#a87a2c);color:#3e2a0c}.standing{border-bottom-color:#d8c7a6}@media (width<=600px){.toolbar nav .tool{width:42px;height:42px}}.setup-actions{background:linear-gradient(#ecdfc400,#ecdfc4 24%)}
