@font-face{font-family:Fredoka;font-style:normal;font-weight:300 700;font-stretch:100%;font-display:swap;src:url(../media/b6df7c92285ebcd2-s.0y4xxz2y19qqs.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-weight:300 700;font-stretch:100%;font-display:swap;src:url(../media/eeba9b1ad34c1404-s.0yczt4r3j28ff.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:300 700;font-stretch:100%;font-display:swap;src:url(../media/5d52bd6c4cb3f315-s.p.0ez3bnoxb63ra.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka Fallback;src:local(Arial);ascent-override:95.64%;descent-override:23.17%;line-gap-override:0.0%;size-adjust:101.84%}.fredoka_2ffbadf5-module__gSJHjG__className{font-family:Fredoka,Fredoka Fallback;font-style:normal}.fredoka_2ffbadf5-module__gSJHjG__variable{--font-fredoka:"Fredoka", "Fredoka Fallback"}
:root{--ink:#182018;--paper:#f5efdf;--cream:#fffaf0;--acid:#e5ff4f;--orange:#ff5a36;--blue:#4e7cff;--green:#0a7157;--muted:#746f63;--line:#1d251d;--shadow:7px 7px 0 var(--line)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{color:inherit}.landing-shell{background:radial-gradient(circle at 12% 80%, #e5ff4fb3 0 10%, transparent 10.4%), linear-gradient(135deg, transparent 0 50%, #ffffff59 50% 51%, transparent 51%) 0 0 / 24px 24px, var(--paper);min-height:100vh}.topbar,.game-header{border-bottom:2px solid var(--line);background:#f5efdfeb;justify-content:space-between;align-items:center;min-height:76px;padding:18px clamp(20px,5vw,72px);display:flex}.logo{color:var(--ink);letter-spacing:-3px;font-family:Georgia,Times New Roman,serif;font-size:38px;font-weight:900;text-decoration:none}.logo span{color:var(--orange)}.topbar-actions{align-items:center;gap:12px;display:flex}.rules-link{color:var(--ink);border-bottom:2px solid var(--line);letter-spacing:.04em;text-transform:uppercase;padding:8px 2px;font-size:13px;font-weight:900;text-decoration:none}.rules-link:hover{color:var(--orange);border-color:var(--orange)}.rules-link:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.connection,.room-pill{border:2px solid var(--line);letter-spacing:.08em;text-transform:uppercase;background:#ded8c8;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}.connection.online{background:var(--acid)}.hero{grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);align-items:center;gap:8vw;max-width:1400px;min-height:calc(100vh - 138px);margin:auto;padding:64px clamp(24px,6vw,92px) 90px;display:grid;overflow:hidden}.eyebrow{letter-spacing:.16em;margin:0 0 14px;font-size:13px;font-weight:900}.hero h1,.lobby-card h1{letter-spacing:-.07em;max-width:820px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(60px,8vw,116px);line-height:.87}.hero h1 em{color:var(--orange);font-weight:inherit}.intro{max-width:650px;margin:32px 0;font-size:clamp(18px,2vw,24px);line-height:1.45}.hero-actions,.lobby-actions{flex-wrap:wrap;gap:14px;display:flex}.button{border:2px solid var(--line);min-height:52px;color:var(--ink);cursor:pointer;border-radius:4px;padding:0 24px;font-weight:900;transition:transform .15s,box-shadow .15s}.button:hover:not(:disabled){box-shadow:4px 4px 0 var(--line);transform:translate(-2px,-2px)}.button:disabled{cursor:not-allowed;opacity:.45}.button.primary{background:var(--acid)}.button.secondary{background:var(--cream)}.button.full{width:100%}.duel-backdrop{z-index:5}.duel-modal{text-align:center}.rps-picker{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.rps-picker button{border:2px solid var(--line);background:var(--acid);text-transform:capitalize;cursor:pointer;min-height:90px;font-weight:900}.rps-picker button:hover{background:var(--orange)}.duel-spectator{justify-items:center;display:grid}.duel-spectator .eyebrow{margin-bottom:12px}.duel-spectator h2{letter-spacing:-.045em;margin-bottom:clamp(26px,4vw,36px);font-size:clamp(38px,6.1vw,60px);line-height:.92}.duel-scoreboard{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(10px,2.6vw,24px);width:100%;display:grid}.duel-player{border:3px solid var(--line);background:#ffffffb8;justify-items:center;gap:9px;min-width:0;min-height:138px;padding:16px 10px 13px;display:grid}.duel-player strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:clamp(15px,2.4vw,20px);font-weight:900;line-height:1.1;overflow:hidden}.duel-player b{border:3px solid var(--line);background:var(--acid);width:74px;height:74px;font-family:var(--font-display);border-radius:50%;place-items:center;font-size:43px;font-weight:700;line-height:1;display:grid}.duel-versus{border:3px solid var(--line);background:var(--orange);color:#fff;width:58px;height:54px;box-shadow:3px 3px 0 var(--line);place-items:center;font-size:22px;font-weight:900;line-height:1;display:grid}.duel-timer{background:var(--ink);color:var(--cream);margin:28px 0 0;padding:13px 20px;font-size:clamp(18px,3.1vw,25px);font-weight:900;line-height:1}.duel-spectator-note{max-width:470px;margin:29px 0 0;font-size:clamp(18px,3vw,25px);font-weight:600;line-height:1.28}.duel-outcome{z-index:25;border:3px solid var(--line);background:var(--acid);width:min(490px,100vw - 32px);box-shadow:7px 7px 0 var(--line);text-align:center;margin:0;padding:16px 20px 17px;position:fixed;top:94px;left:50%;transform:translate(-50%)}.duel-outcome strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(24px,4vw,32px);font-weight:700;line-height:1;display:block}.duel-outcome p{margin:8px 0 0;font-size:16px;font-weight:700;line-height:1.2}.kitten-backdrop{z-index:6}.kitten-modal{text-align:center;overflow:hidden}.kitten-stage{width:min(100%,440px);height:clamp(190px,34vh,280px);margin:12px auto;position:relative;overflow:hidden}.kitten-button{border:3px solid var(--line);background:var(--acid);cursor:pointer;width:72px;height:72px;box-shadow:5px 5px 0 var(--line);border-radius:50%;place-items:center;margin:0;transition-property:left,top,background-color,box-shadow,transform;transition-timing-function:ease-in-out;display:grid;position:absolute;transform:translateZ(0)}.kitten-button:focus-visible{outline:4px solid var(--orange);outline-offset:4px}.kitten-button span{font-size:42px;animation:.65s ease-in-out infinite alternate kitten-wiggle}.kitten-button i{color:var(--orange);opacity:0;font-size:42px;font-style:normal;position:absolute;top:16%;right:16%}.kitten-button.petted{box-shadow:3px 3px 0 var(--line);background:#ffb6df;transform:scale(.94)}.kitten-button.petted span{animation:none}.kitten-button.petted i{opacity:1;animation:.7s ease-out infinite kitten-heart}.kitten-countdown{color:var(--orange);margin:0;font-size:40px;font-weight:900}@keyframes kitten-wiggle{to{transform:rotate(7deg)scale(1.06)}}@keyframes kitten-heart{to{opacity:0;transform:translateY(-20px)scale(1.35)}}.kitten-scratches{z-index:70;pointer-events:none;background:radial-gradient(#0000 18%,#480f0c1f 58%,#1820186b);place-items:center;animation:10s ease-out both kitten-scratch-fade;display:grid;position:fixed;inset:0;overflow:hidden}.kitten-scratches span{clip-path:polygon(0 38%,3% 13%,7% 61%,12% 22%,17% 73%,24% 8%,31% 58%,38% 19%,45% 69%,52% 16%,59% 81%,66% 24%,73% 63%,80% 9%,87% 66%,94% 17%,100% 49%,100% 78%,94% 94%,87% 44%,80% 88%,73% 37%,66% 95%,59% 47%,52% 91%,45% 39%,38% 87%,31% 43%,24% 94%,17% 48%,12% 86%,7% 35%,3% 84%,0 61%);background:repeating-linear-gradient(94deg,#470c0cf5 0 46px,#ffdabec2 47px 51px,#470c0cf5 52px 96px);width:150vmax;height:clamp(26px,3.8vw,50px);animation:.72s cubic-bezier(.12,.8,.24,1) both kitten-claw;position:absolute;transform:rotate(-27deg)translate(-7vw);box-shadow:0 4px 9px #23000080}.kitten-scratches span:first-child{margin-top:-23vh;margin-left:-4vw;animation-delay:40ms}.kitten-scratches span:nth-child(2){height:clamp(18px,2.6vw,36px);margin-top:1vh;margin-left:3vw;animation-delay:.13s}.kitten-scratches span:nth-child(3){margin-top:25vh;margin-left:-2vw;animation-delay:.22s}@keyframes kitten-claw{0%{opacity:0;transform:rotate(-27deg)translate(-90vw)scaleX(.3)}to{opacity:.88;transform:rotate(-27deg)translate(-7vw)scaleX(1)}}@keyframes kitten-scratch-fade{0%,68%{opacity:1}to{opacity:0}}.fire-burst{--fire-rotation:0deg;z-index:68;pointer-events:none;animation:1.12s ease-out both fire-burst-fade;position:fixed;inset:0;overflow:hidden}.fire-burst-shapes{width:min(86vw,980px);height:84%;transform:rotate(var(--fire-rotation));transform-origin:15%;position:absolute;top:8%;left:-15vw}.fire-burst-glow{mix-blend-mode:screen;width:min(86vw,980px);height:84%;transform:rotate(var(--fire-rotation));transform-origin:15%;background:radial-gradient(at 0,#ff471445,#0000 45%);position:absolute;top:8%;left:-15vw}.fire-burst-flame{transform-origin:0;clip-path:polygon(0 16%,10% 28%,18% 7%,28% 31%,38% 0,48% 26%,58% 9%,67% 34%,77% 3%,87% 30%,100% 48%,87% 63%,78% 93%,67% 69%,57% 100%,47% 72%,37% 91%,27% 65%,17% 84%,8% 58%,0 78%);border:3px solid #571208cc;border-left:0;border-radius:50% 13% 13% 50%;width:74%;height:24%;animation:1.12s cubic-bezier(.18,.75,.28,1) both fire-burst-grow;display:block;position:absolute}.fire-burst-flame:after{content:"";clip-path:inherit;background:#ffca28;animation:1.12s ease-in-out both fire-burst-core;position:absolute;inset:13% 3% 14% 19%}.fire-burst-flame:nth-child(odd){background:#e53918}.fire-burst-flame:nth-child(2n){background:#ff7a18}.fire-burst-flame-1{height:22%;animation-delay:20ms;top:7%;left:0;transform:rotate(-13deg)}.fire-burst-flame-2{width:86%;height:29%;animation-delay:65ms;top:18%;left:3%;transform:rotate(-5deg)}.fire-burst-flame-3{width:94%;height:25%;animation-delay:.1s;top:34%;left:-2%;transform:rotate(4deg)}.fire-burst-flame-4{width:82%;height:30%;animation-delay:42ms;top:50%;left:1%;transform:rotate(10deg)}.fire-burst-flame-5{width:91%;height:23%;animation-delay:.125s;top:67%;left:-4%;transform:rotate(17deg)}.fire-burst-flame-6{width:70%;height:19%;animation-delay:80ms;top:80%;left:7%;transform:rotate(23deg)}.fire-burst-flame-7{opacity:.82;width:100%;height:16%;animation-delay:.155s;top:43%;left:-2%;transform:rotate(-2deg)}.fire-burst-top{--fire-rotation:90deg}.fire-burst-right{--fire-rotation:180deg}.fire-burst-bottom{--fire-rotation:270deg}.fire-burst-top-right{--fire-rotation:135deg}.fire-burst-bottom-right{--fire-rotation:225deg}.fire-burst-bottom-left{--fire-rotation:315deg}.fire-burst-top-left{--fire-rotation:45deg}@keyframes fire-burst-grow{0%{opacity:0;transform:translate(-13vw)scale(.18,.4)}18%{opacity:.98;transform:translate(0)scale(1.06,1.15)}46%{opacity:.94;transform:translate(1vw)scale(.96,.92)}to{opacity:0;transform:translate(17vw)scale(.62,.2)}}@keyframes fire-burst-core{0%,18%{opacity:0;transform:scale(.3)}38%{opacity:.92;transform:scale(1.08)}72%{opacity:.64;transform:scale(.86)}to{opacity:0;transform:scale(.42)}}@keyframes fire-burst-fade{0%,68%{opacity:1}to{opacity:0}}@media (min-width:700px){.kitten-button{width:88px;height:88px}.kitten-button span{font-size:52px}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .kitten-button,:root:not([data-motion=full]) .kitten-button span,:root:not([data-motion=full]) .kitten-button.petted i,:root:not([data-motion=full]) .kitten-scratches,:root:not([data-motion=full]) .kitten-scratches span,:root:not([data-motion=full]) .fire-burst,:root:not([data-motion=full]) .fire-burst-flame,:root:not([data-motion=full]) .fire-burst-flame:after{animation:none;transition-duration:0s!important}}.hero-art{min-height:560px;position:relative}.hero-card{position:absolute}.hero-card .card{transform-origin:0 0;transform:scale(2.08)}.hero-card:first-child{z-index:1;top:60px;left:0;transform:rotate(-13deg)}.hero-card:nth-child(2){z-index:2;top:5px;left:175px;transform:rotate(5deg)}.hero-card:nth-child(3){z-index:3;top:120px;left:330px;transform:rotate(15deg)}.setup-card{border:3px solid var(--line);background:var(--cream);width:min(620px,100% - 32px);box-shadow:var(--shadow);margin:46px auto 100px;padding:clamp(24px,5vw,48px);scroll-margin-top:24px}.setup-card h2,.modal h2{letter-spacing:-.05em;margin:0 0 30px;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,7vw,60px)}.back{cursor:pointer;background:0 0;border:0;margin:0 0 28px;padding:0;font-weight:800}.setup-card label{gap:8px;margin:16px 0;font-weight:800;display:grid}.setup-card input,.setup-card select{border:2px solid var(--line);width:100%;min-height:50px;color:var(--ink);background:#fff;border-radius:3px;padding:10px 13px}.setup-card input::placeholder{color:var(--muted);-webkit-text-fill-color:var(--muted);opacity:1}.setup-card select{-webkit-text-fill-color:var(--ink)}.setup-card input::placeholder{color:var(--muted);opacity:1}.setup-card select option{color:var(--ink);background:#fff}.setup-card .code-input{letter-spacing:.2em;text-transform:uppercase;font-size:26px;font-weight:900}.settings-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.setup-card details{border:2px solid var(--line);background:#f2ead8;border-radius:4px;margin:4px 0 14px;overflow:hidden}.setup-card details>summary.button{cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:10px;min-height:44px;padding:9px 12px;list-style:none;transition:background .15s;display:flex}.setup-card details>summary.button::-webkit-details-marker{display:none}.setup-card details>summary.button:before{content:"+";border:2px solid var(--line);background:var(--cream);border-radius:3px;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:17px;line-height:1;display:grid}.setup-card details[open]>summary.button:before{content:"−"}.setup-card details>summary.button:hover{box-shadow:none;background:#e5ff4f47;transform:none}.setup-card details[open]>summary.button{background:#eee5d2}.setup-card details .settings-grid{border-top:2px solid var(--line);background:var(--cream);padding:2px 12px 10px}.setup-card details .settings-grid label{margin:10px 0 2px}.avatar-picker{border:0;margin:24px 0;padding:0}.avatar-picker legend{margin-bottom:10px;font-weight:800}.avatar-picker>div{grid-template-columns:repeat(6,minmax(0,58px));justify-content:space-between;gap:10px 6px;display:grid}.avatar-option{aspect-ratio:1;border:2px solid var(--line);text-align:center;cursor:pointer;background:#fff;border-radius:50%;place-items:center;width:100%;max-width:58px;height:auto;padding:0;font-size:32px;line-height:1;display:grid}.avatar-option.selected{background:var(--acid);box-shadow:3px 3px 0 var(--line);transform:translate(-2px,-2px)}.error{color:#7d160d;background:#ffe2db;border-left:5px solid #c72f1d;padding:11px 13px;font-weight:800}.error.compact{margin:4px 0 12px;padding:7px 10px;font-size:13px}footer{text-align:center;border-top:2px solid var(--line);padding:22px;font-size:13px;font-weight:700}.room-shell{background:#e8e0cf;min-height:100vh}.game-header{z-index:3;grid-template-columns:1fr auto 1fr;min-height:86px;padding-block:9px;display:grid;position:relative}.game-header-center{justify-items:center;gap:5px;display:grid}.game-header>.connection,.game-header>.room-pill{justify-self:end}.leave-game-button{border:2px solid var(--line);color:var(--ink);text-transform:uppercase;cursor:pointer;background:#fff;justify-self:start;padding:7px 9px;font-size:11px;font-weight:900}.leave-game-button:hover{box-shadow:3px 3px 0 var(--line);background:#ffe2db;transform:translate(-1px,-1px)}.settings-button{border:2px solid var(--line);background:var(--cream);min-height:42px;color:var(--ink);box-shadow:3px 3px 0 var(--line);text-transform:uppercase;cursor:pointer;justify-self:end;padding:7px 12px;font-size:12px;font-weight:900}.settings-button:hover{background:var(--acid);transform:translate(-1px,-1px)}.settings-button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.turn-banner{border:2px solid var(--line);max-width:min(52vw,430px);box-shadow:3px 3px 0 var(--line);text-transform:uppercase;letter-spacing:.08em;background:#fff;align-items:center;gap:8px;padding:7px 13px;font-weight:900;display:flex}.turn-banner.your-turn{background:var(--acid);box-shadow:4px 4px 0 var(--line);transform:translate(-1px,-1px)}.turn-banner span{flex:none;font-size:28px;line-height:.8}.turn-banner strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.turn-banner .turn-countdown{background:var(--line);color:#fff;font-variant-numeric:tabular-nums;text-transform:lowercase;border-radius:999px;margin-left:2px;padding:3px 6px;font-family:Arial,sans-serif;font-size:13px;font-weight:600}.turn-banner .turn-countdown.urgent{background:#d92828;animation:.7s ease-in-out infinite alternate timeout-pulse}@keyframes timeout-pulse{to{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.turn-banner .turn-countdown.urgent{animation:none}}.lobby-shell{background:linear-gradient(#1820180b 1px, transparent 1px), linear-gradient(90deg, #1820180b 1px, transparent 1px), var(--paper);background-size:28px 28px}.lobby-card{border:3px solid var(--line);background:var(--cream);width:min(820px,100% - 32px);box-shadow:var(--shadow);margin:54px auto;padding:clamp(28px,6vw,64px)}.lobby-card h1{max-width:650px;margin-bottom:34px;font-size:clamp(48px,8vw,82px)}.room-code-block{border:2px dashed var(--line);background:var(--acid);grid-template-columns:1fr auto;align-items:center;gap:4px 24px;margin:25px 0;padding:20px;display:grid}.room-code-block span{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:900}.room-code-block strong{letter-spacing:.13em;grid-row:span 2;font-family:Georgia,serif;font-size:46px}.room-code-copy{border:2px solid var(--line);background:var(--cream);width:42px;height:42px;color:var(--ink);cursor:pointer;place-items:center;padding:8px;display:grid}.room-code-copy:hover{box-shadow:3px 3px 0 var(--line);background:#fff;transform:translate(-1px,-1px)}.room-code-copy svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:24px;height:24px}.copy-feedback{min-height:18px;color:var(--muted);margin:-14px 0 10px;font-size:12px;font-weight:800}.lobby-share-actions{flex-wrap:wrap;gap:10px;margin:0 0 24px;display:flex}.lobby-share-actions .button{flex:180px}.qr-modal{width:min(510px,100vw - 24px);padding:clamp(20px,5vw,34px)}.qr-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.qr-heading h2{margin-bottom:20px}.qr-card{border:3px solid var(--line);background:var(--acid);box-shadow:6px 6px 0 var(--line);justify-items:center;margin:0 auto 18px;padding:clamp(14px,4vw,24px);display:grid;position:relative;transform:rotate(-1deg)}.qr-image-wrap{aspect-ratio:1;border:3px solid var(--line);background:var(--cream);place-items:center;width:min(320px,100%);padding:4px;display:grid;position:relative}.qr-image-wrap img{width:100%;height:100%;image-rendering:pixelated;display:block}.qr-wordmark{border:3px solid var(--line);background:var(--cream);color:var(--ink);font-family:var(--font-display);letter-spacing:-.08em;box-shadow:2px 2px 0 var(--line);border-radius:4px;padding:8px 9px 6px;font-size:clamp(16px,4vw,22px);font-weight:700;line-height:1;display:inline-block;position:absolute}.qr-wordmark span{color:var(--orange)}.qr-loading{width:100%;height:100%;color:var(--muted);text-align:center;place-items:center;margin:0;font-weight:800;display:grid}.qr-instruction{text-transform:uppercase;letter-spacing:.1em;margin:16px 0 4px;font-size:14px;font-weight:900}.qr-room-code{justify-items:center;gap:2px;margin:0;display:grid}.qr-room-code span{letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:900}.qr-room-code strong{font-family:var(--font-display);letter-spacing:.14em;font-size:clamp(36px,10vw,52px);line-height:1}.qr-fallback{color:var(--muted);text-align:center;margin:16px 0;font-size:16px;line-height:1.4}.qr-actions{flex-wrap:wrap;gap:10px;display:flex}.qr-actions .button{flex:180px}.player-list{gap:10px;margin:24px 0;display:grid}.lobby-player{border:2px solid var(--line);background:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:12px 16px;display:grid}.avatar{border:2px solid var(--line);background:var(--acid);border-radius:50%;place-items:center;width:46px;height:46px;font-size:25px;display:grid}.lobby-player div{gap:3px;display:grid}.lobby-player small,.self-row small,.opponent small{color:var(--muted)}.offline{filter:grayscale();opacity:.56}.ready-badge{border:1px solid var(--line);text-transform:uppercase;padding:5px 8px;font-size:11px;font-weight:900}.ready-badge.ready{background:var(--acid)}.lobby-note{color:var(--muted);margin:18px 0 0;font-size:13px}.game-shell{background:#d9cfbb}.table-layout{grid-template-rows:auto minmax(350px,1fr);grid-template-columns:minmax(0,1fr) 270px;gap:18px;min-height:calc(100vh - 312px);padding:18px;display:grid}.opponents{flex-wrap:wrap;grid-column:1;justify-content:center;gap:10px;padding-top:27px;display:flex}.opponent{border:2px solid #0000;border-radius:8px;justify-items:center;gap:4px;min-width:120px;padding:8px 12px;transition:border-color .14s,background-color .14s,box-shadow .14s,opacity .14s;display:grid;position:relative}.opponent.active{border-color:var(--line);background:var(--acid);box-shadow:4px 4px 0 var(--line)}.opponent.next{border-color:var(--blue);box-shadow:2px 2px 0 var(--blue);background:#ffffffb8}.opponent.active.next{border-color:var(--line);background:var(--acid);box-shadow:4px 4px 0 var(--line)}.opponent .avatar{background:#fff;width:44px;height:44px}.opponent strong{font-size:13px}.opponent small{font-size:11px}.avatar-indicator{place-items:center;display:inline-grid;position:relative}.skip-overlay{z-index:1;color:#fff;letter-spacing:.04em;text-align:center;text-shadow:1px 1px #0000004d;pointer-events:none;background:#3d4646c7;border-radius:6px;place-items:center;font-size:9px;font-weight:950;line-height:1;display:grid;position:absolute;inset:0;transform:rotate(-5deg);box-shadow:inset 0 0 0 2px #ffffff7a}.turn-arrow{z-index:2;border:2px solid var(--line);background:var(--acid);box-shadow:2px 2px 0 var(--line);color:var(--ink);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;padding:3px 6px;font-size:9px;font-weight:950;line-height:1;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.next-marker{z-index:2;border:2px solid var(--blue);box-shadow:1px 1px 0 var(--blue);color:var(--ink);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#fff;padding:2px 5px;font-size:8px;font-weight:950;line-height:1;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .opponent,:root:not([data-motion=full]) .next-marker{transition:none}}.felt{background:radial-gradient(circle at 50% 45%,#ffffff0f,#0000 45%),#0a7157;border:5px solid #173b30;border-radius:44% 44% 38% 38%/25% 25% 35% 35%;grid-column:1;align-content:center;place-items:center;gap:18px;min-height:330px;padding:40px;display:grid;position:relative;box-shadow:inset 0 0 0 10px #ffffff14,0 12px #11372e}.felt>.choice-note{color:#fff}.table-cards{justify-content:center;align-items:center;gap:clamp(30px,8vw,110px);display:flex}.felt-copy{text-transform:uppercase;justify-items:center;display:grid}.felt-copy span{color:#ffffffb3;letter-spacing:.14em;font-size:10px;font-weight:800}.felt-copy strong{font-size:15px}.colour-red{color:#ff8a79}.colour-blue{color:#98afff}.colour-yellow{color:#eaff66}.colour-green{color:#7dffc8}.colour-wild{color:#fff}.card{--card-fallback-border-width:3px;border:var(--card-fallback-border-width) solid var(--line);isolation:isolate;border-radius:10px;flex:none;width:118px;height:168px;position:relative;overflow:hidden;box-shadow:5px 5px #00000080;container-type:inline-size}.card-has-frame{--card-fallback-border-width:0px;border-color:#0000}.card-background,.card-art,.card-frame,.card-content,.card-status-effects,.card-ui-state{position:absolute;inset:0}.card-background{z-index:0;background:#fff}.card-art{z-index:1;pointer-events:none;overflow:hidden}.card-art img{object-fit:contain;width:100%;height:100%;display:block}.card-frame{z-index:2;inset:calc(-1 * var(--card-fallback-border-width));pointer-events:none}.card-frame img{object-fit:fill;width:100%;height:100%;display:block}.card-content{z-index:4;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:10px;display:flex}.card-content strong{text-align:center;text-transform:uppercase;flex-direction:column;align-items:center;max-width:95px;font-size:22px;line-height:.92;display:flex}n.card-content strong span{white-space:nowrap}.card-numeric-label .card-content strong{font-size:44px;line-height:.85}.card-standard-label .card-content strong{font-size:clamp(64px,85cqw,150px);line-height:.8}.card-category-action.card-numeric-label .card-content strong{font-size:clamp(52px,70cqw,120px);line-height:.85}.card-swap-direction .card-content strong{max-width:0;overflow:hidden}.card-swap-direction .card-art{place-items:center;display:grid;inset:14px 6px 30px}.card-swap-direction .card-art img{object-fit:contain;filter:brightness(0)drop-shadow(2px 3px #18201880);width:100%;height:100%}.card-color-change .card-content strong{max-width:0;overflow:hidden}.card-color-change .card-art{place-items:center;display:grid;inset:14px 6px 30px}.card-color-change .card-art img{object-fit:contain;filter:none;width:100%;height:100%}.card-content small{letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:900}.card-category-standard .card-content small,.card-category-action .card-content small{text-align:center;position:absolute;bottom:10px;left:10px;right:10px}.card-content .card-corner{font-family:Georgia,serif;font-weight:900;position:absolute;top:7px;left:9px}.card-status-effects{z-index:5;inset:calc(-1 * var(--card-fallback-border-width));pointer-events:none}.card-ui-state{z-index:6;pointer-events:none}.card .card-state{color:var(--ink);letter-spacing:.06em;text-transform:uppercase;background:#fffaf0e6;border:1px solid;border-radius:3px;padding:3px 5px;font-size:8px;font-weight:900;line-height:1;position:absolute;bottom:6px;right:6px}.poison-overlay{pointer-events:none;filter:drop-shadow(0 3px 1px #10461ccc);clip-path:polygon(0 0,100% 0,100% 57%,92% 57%,92% 76%,84% 76%,84% 55%,69% 55%,69% 91%,61% 91%,61% 64%,45% 64%,45% 78%,36% 78%,36% 55%,19% 55%,19% 68%,10% 68%,10% 52%,0 52%);background:linear-gradient(#63ff37f2,#17772bb8 60%,#0000);height:48px;animation:5s ease-in-out infinite poison-ooze;position:absolute;top:0;left:0;right:0}.poison-overlay i{background:#6cff41;width:7px;height:22px;position:absolute;top:20px;box-shadow:2px 2px #176c31}.poison-overlay i:first-child{height:17px;left:18%}.poison-overlay i:nth-child(2){height:29px;left:49%}.poison-overlay i:nth-child(3){height:20px;left:79%}.poison-overlay b{color:#153a1e;letter-spacing:.08em;text-shadow:1px 1px #b3ff75;font-size:7px;position:absolute;top:4px;right:5px}@keyframes poison-ooze{50%{transform:translateY(3px)}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .poison-overlay,:root:not([data-motion=full]) .card-category-standard .card-background,:root:not([data-motion=full]) .card-category-action .card-background{animation:none}}.card-red{color:#fff}.card-red .card-background{background:#ff5a46}.card-blue{color:#fff}.card-blue .card-background{background:#4e7cff}.card-yellow .card-background{background:#e5ff4f}.card-green .card-background{background:#4cd598}.card-category-standard .card-background{animation:card-mesh-drift var(--card-mesh-duration,10s) ease-in-out infinite alternate;background-position:50%;background-size:155% 155%;transition:transform .18s}.card-category-action.card-red .card-background,.card-category-action.card-blue .card-background,.card-category-action.card-yellow .card-background,.card-category-action.card-green .card-background{animation:card-mesh-drift var(--card-mesh-duration,10s) ease-in-out infinite alternate;background-position:50%;background-size:155% 155%}@keyframes card-mesh-drift{0%,to{background-position:0 0,100% 0,50% 100%,0 0;background-size:145% 145%}50%{background-position:38% 30%,62% 34%,72% 68%,100% 100%;background-size:190% 190%}}.card-category-standard.card-red .card-background,.card-category-action.card-red .card-background{background:radial-gradient(circle at 18% 16%,#f09d643d 0 9%,#0000 34%),radial-gradient(circle at 88% 22%,#e24f46c7 0 8%,#0000 38%),radial-gradient(circle at 72% 88%,#a21434e6 0 12%,#0000 46%),linear-gradient(135deg,#d96a50 0%,#d94b48 42%,#ad2847 100%)}.card-category-standard.card-blue .card-background,.card-category-action.card-blue .card-background{background:radial-gradient(circle at 14% 84%,#53c4bc57 0 10%,#0000 38%),radial-gradient(circle at 84% 18%,#527adcc7 0 12%,#0000 44%),radial-gradient(circle at 65% 66%,#1f3aa1d6 0 16%,#0000 48%),linear-gradient(135deg,#4aaeb8 0%,#426fca 48%,#2e3d9d 100%)}.card-category-standard.card-yellow .card-background,.card-category-action.card-yellow .card-background{color:#182018;background:radial-gradient(circle at 18% 18%,#ecd45847 0 8%,#0000 33%),radial-gradient(circle at 86% 25%,#dcb31ecc 0 11%,#0000 42%),radial-gradient(circle at 70% 90%,#999b14b8 0 13%,#0000 46%),linear-gradient(135deg,#ddcf57 0%,#c9b73b 48%,#959f25 100%)}.card-category-standard.card-green .card-background,.card-category-action.card-green .card-background{color:#102c25;background:radial-gradient(circle at 16% 20%,#a4dd8952 0 9%,#0000 35%),radial-gradient(circle at 90% 25%,#40be7ecc 0 11%,#0000 42%),radial-gradient(circle at 68% 88%,#0f695ecc 0 14%,#0000 48%),linear-gradient(135deg,#73c578 0%,#48b682 46%,#1c7e73 100%)}.card-category-standard:hover .card-background,.card-category-action.card-red:hover .card-background,.card-category-action.card-blue:hover .card-background,.card-category-action.card-yellow:hover .card-background,.card-category-action.card-green:hover .card-background{transform:scale(1.04)}.card-category-standard.card-yellow .card-content,.card-category-standard.card-green .card-content{text-shadow:0 1px #ffffff47}.card-action{color:#fff;text-shadow:1px 1px #00000073}.card.card-swap-direction,.card.card-color-change{color:#182018;text-shadow:none}.card-action .card-background{background:linear-gradient(135deg,#ff5a46,#e5ff4f,#4e7cff)}.card-special{color:#fff}.card-special .card-background{background:#0d1129}.card-special .card-content{justify-content:flex-end;gap:3px;padding:10px}.card-special .card-content strong{color:#fff;text-shadow:1px 2px #0d1129,-1px 1px #0d1129,1px -1px #0d1129;font-size:19px}.discard{transform:rotate(-5deg)}.draw-pile{border:3px solid var(--line);cursor:pointer;background:repeating-linear-gradient(45deg,#e5ff4f 0 10px,#182018 10px 13px);border-radius:10px;align-content:center;place-items:center;gap:8px;width:118px;height:168px;display:grid;box-shadow:8px 8px #071f18}.draw-pile:disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.55}.draw-pile span{background:var(--cream);padding:2px 8px;font-family:Georgia,serif;font-size:42px;font-weight:900}.draw-pile small{background:var(--cream);text-transform:uppercase;padding:4px 8px;font-weight:900}.event-stream{border:2px solid var(--line);background:var(--cream);height:fit-content;max-height:min(700px,100dvh - 180px);box-shadow:5px 5px 0 var(--line);flex-direction:column;grid-area:1/2/span 2;align-self:start;padding:18px;display:flex;overflow:hidden}.event-stream h2{margin:0 0 18px;font-family:Georgia,serif;font-size:21px}.event-stream>div{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;overflow-y:auto}.event-stream p{border-top:1px solid #c9c0ae;margin:0;padding:11px 0;font-size:13px;line-height:1.3}.event-stream p:first-child{border-top:0;font-weight:900}.hand-zone{z-index:2;border-top:2px solid var(--line);background:var(--paper);padding:12px 20px 28px;position:relative}.hand-toolbar{justify-content:space-between;align-items:center;gap:14px;width:min(1180px,100%);margin:0 auto 8px;display:flex}.self-row{align-items:center;gap:10px;min-width:0;display:flex}.self-row>div{gap:2px;display:grid}.self-row .avatar{width:40px;height:40px;font-size:21px}.player-settings{flex:none;position:relative}.player-settings>summary{border:2px solid var(--line);background:var(--cream);cursor:pointer;border-radius:999px;min-height:38px;padding:9px 12px;font-size:12px;font-weight:900;list-style:none}.player-settings>summary::-webkit-details-marker{display:none}.player-settings>summary:after{content:" +";color:var(--orange)}.player-settings[open]>summary{background:var(--acid);box-shadow:3px 3px 0 var(--line)}.player-settings[open]>summary:after{content:" −"}.player-settings>div{z-index:6;border:2px solid var(--line);background:var(--cream);width:min(292px,100vw - 28px);box-shadow:5px 5px 0 var(--line);gap:10px;padding:13px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.setting-switch{justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:800;display:flex}.setting-switch input{width:18px;height:18px;accent-color:var(--green)}.sound-volume{border:2px solid var(--line);background:#fff;gap:8px;min-width:0;padding:10px 13px 12px;font-size:13px;font-weight:900;display:grid}.sound-volume span{justify-content:space-between;gap:8px;display:flex}.sound-volume output{color:var(--orange)}.sound-volume input{width:100%;min-height:32px;accent-color:var(--orange);cursor:pointer;margin:0}.sound-volume input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.sound-volume.muted{color:var(--muted);opacity:.7;background:#eee6d5}.sound-volume.muted output{color:inherit}.sound-volume input:disabled{cursor:not-allowed}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.card-transfer-layer{z-index:80;pointer-events:none;position:fixed;inset:0;overflow:hidden}.card-transfer-card{z-index:2;border:3px solid var(--line);width:52px;height:74px;color:var(--ink);background:repeating-linear-gradient(45deg,#e5ff4f 0 10px,#182018 10px 13px);border-radius:7px;place-items:center;margin:-37px 0 0 -26px;animation:1.25s cubic-bezier(.19,.75,.26,1) both card-transfer-whoosh;display:grid;position:fixed;box-shadow:4px 4px #071f18}.card-transfer-card span{background:var(--cream);padding:1px 6px;font-family:Georgia,serif;font-size:30px;font-weight:900;line-height:.8}.card-transfer-trail{background:var(--acid);width:18px;height:18px;box-shadow:0 0 0 4px var(--coral), 0 0 0 7px var(--line);border-radius:50%;margin:-9px;animation:1.25s cubic-bezier(.19,.75,.26,1) both card-transfer-trail;position:fixed}.card-transfer-burst{border:3px solid var(--line);background:var(--acid);width:64px;height:64px;color:var(--coral);border-radius:50%;place-items:center;margin:-32px;font-size:35px;animation:1.25s ease-out both card-transfer-burst;display:grid;position:fixed}@keyframes card-transfer-whoosh{0%{opacity:0;transform:translate(0)rotate(-14deg)scale(.68)}12%{opacity:1}76%{transform:translate(var(--transfer-x), var(--transfer-y)) rotate(15deg) scale(1);opacity:1}to{transform:translate(var(--transfer-x), var(--transfer-y)) rotate(20deg) scale(.82);opacity:0}}@keyframes card-transfer-trail{0%,12%{opacity:0;transform:translate(0)scale(.25)}20%{opacity:1}76%{transform:translate(var(--transfer-x), var(--transfer-y)) scale(1.2);opacity:1}to{transform:translate(var(--transfer-x), var(--transfer-y)) scale(2.8);opacity:0}}@keyframes card-transfer-burst{0%,63%{opacity:0;transform:scale(.1)rotate(-20deg)}77%{opacity:1;transform:scale(1.16)rotate(12deg)}to{opacity:0;transform:scale(1.85)rotate(28deg)}}.chaos-pass-layer{z-index:81;pointer-events:none;position:fixed;inset:0;overflow:hidden}.chaos-pass-flight{width:0;height:0;position:fixed}.chaos-pass-trail{border:3px solid var(--line);background:var(--orange);width:18px;height:18px;box-shadow:0 0 0 5px var(--acid);animation:chaos-pass-trail 1.45s cubic-bezier(.2,.78,.25,1) var(--chaos-delay) both;border-radius:50%;margin:-9px;position:absolute}.chaos-pass-card{border:3px solid var(--line);width:46px;height:66px;color:var(--ink);animation:chaos-pass-card 1.45s cubic-bezier(.2,.78,.25,1) var(--chaos-card-delay) both;background:repeating-linear-gradient(45deg,#e5ff4f 0 8px,#182018 8px 11px);border-radius:7px;place-items:center;margin:-33px 0 0 -23px;display:grid;position:absolute;box-shadow:4px 4px #071f18}.chaos-pass-card span{background:var(--cream);padding:1px 5px;font-family:Georgia,serif;font-size:26px;font-weight:900;line-height:.8}@keyframes chaos-pass-trail{0%,9%{opacity:0;transform:translate(0)scale(.2)}18%{opacity:1}42%{transform:translate(var(--chaos-control-1-x), var(--chaos-control-1-y)) scale(1.1);opacity:.95}67%{transform:translate(var(--chaos-control-2-x), var(--chaos-control-2-y)) scale(1.25);opacity:.95}82%{transform:translate(var(--chaos-x), var(--chaos-y)) scale(1.15);opacity:.95}to{transform:translate(var(--chaos-x), var(--chaos-y)) scale(2.5);opacity:0}}@keyframes chaos-pass-card{0%{transform:translate(var(--chaos-card-offset-x), var(--chaos-card-offset-y)) rotate(calc(-18deg + var(--chaos-card-spin))) scale(.55);opacity:0}11%{opacity:1}35%{transform:translate(var(--chaos-control-1-x), var(--chaos-control-1-y)) rotate(calc(var(--chaos-spin) * .35 + var(--chaos-card-spin))) scale(1);opacity:1}57%{transform:translate(var(--chaos-control-2-x), var(--chaos-control-2-y)) rotate(calc(var(--chaos-spin) * .72 + var(--chaos-card-spin))) scale(.86);opacity:1}78%{transform:translate(var(--chaos-x), var(--chaos-y)) rotate(calc(var(--chaos-spin) + var(--chaos-card-spin))) scale(.94);opacity:1}to{transform:translate(calc(var(--chaos-x) + var(--chaos-card-offset-x)), calc(var(--chaos-y) + var(--chaos-card-offset-y))) rotate(calc(var(--chaos-spin) + 35deg + var(--chaos-card-spin))) scale(.62);opacity:0}}.card-help-panel{border:2px solid var(--line);background:var(--cream);width:min(1180px,100%);margin:0 auto 8px;padding:10px}.card-help-panel>strong{letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:11px;display:block}.card-help-empty{color:#4f4b42;margin:0;font-size:12px;line-height:1.3}.card-help-panel>div{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.card-help-panel article{border-left:4px solid var(--orange);background:#eee6d5;flex:0 0 320px;grid-template-columns:59px minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;display:grid}.card-help-panel article>div:last-child{gap:3px;display:grid}.card-help-panel article b{font-size:12px}.card-help-panel article>div:last-child span{color:#4f4b42;font-size:11px;line-height:1.3}.card-help-preview{pointer-events:none;width:59px;height:84px}.card-help-preview .card{transform-origin:0 0;transform:scale(.5)}.card-help-preview .card-standard-label .card-content strong{font-size:56px}.hand{align-items:flex-end;gap:0;width:min(1180px,100%);min-height:180px;margin:auto;padding:15px 20px 4px;display:flex;overflow:auto visible}.hand .card{cursor:not-allowed;margin-left:-23px;transition:transform .15s,margin .15s}.hand .card:first-child{margin-left:0}.hand .card-playable{cursor:pointer}.hand .card-playable:hover{z-index:2;margin-right:10px;transform:translateY(-15px)rotate(-2deg)}.hand .card-unavailable{filter:saturate(.72)contrast(.94);opacity:.9;box-shadow:2px 2px #00000073}.modal-backdrop{z-index:20;background:#111611b8;place-items:center;width:100vw;height:100dvh;padding:20px;display:grid;position:fixed;inset:0;overflow:hidden}.game-over-backdrop{z-index:100;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-y:auto}.modal{border:3px solid var(--line);background:var(--cream);width:min(560px,100vw - 40px);min-width:0;max-height:calc(100dvh - 40px);margin:auto;padding:36px;overflow:hidden auto;box-shadow:10px 10px #000}.settings-panel{width:min(520px,100vw - 40px)}.settings-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.settings-heading h2{margin-bottom:20px}.modal-close{border:2px solid var(--line);cursor:pointer;background:#fff;flex:none;place-items:center;width:44px;height:44px;font-size:30px;line-height:1;display:grid}.modal-close:hover{background:var(--acid)}.settings-section{border-top:2px solid var(--line);margin:20px 0;padding-top:18px}.settings-section h3{margin:0 0 12px;font-family:Georgia,serif;font-size:25px}.settings-room-code{justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 14px;display:flex}.settings-room-code span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900}.settings-room-code strong{letter-spacing:.12em;font-family:Georgia,serif;font-size:32px}.settings-actions{flex-wrap:wrap;gap:8px;display:flex}.settings-actions .button{min-height:44px}.preference-list{gap:8px;display:grid}.preference-switch{border:2px solid var(--line);min-height:50px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:10px 13px;font-weight:900;display:flex}.preference-switch b{border:1px solid var(--line);text-align:center;text-transform:uppercase;background:#eee6d5;min-width:42px;padding:4px 7px;font-size:11px}.preference-switch.checked{background:var(--acid);box-shadow:3px 3px 0 var(--line)}.preference-switch.checked b{background:#fff}.settings-note{color:var(--muted);margin:12px 0 0;font-size:12px}.settings-rules-link{margin-top:5px;font-weight:900;display:inline-block}.settings-feedback{min-height:20px;color:var(--muted);margin:12px 0 0;font-size:13px;font-weight:800}.color-picker{grid-template-columns:1fr 1fr;gap:12px;display:grid}.color-picker button{border:3px solid var(--line);text-transform:uppercase;cursor:pointer;min-height:80px;font-weight:900}.target-picker{gap:10px;display:grid}.target-picker>button{border:2px solid var(--line);text-align:left;cursor:pointer;background:#fff;grid-template-columns:auto 1fr;align-items:center;gap:2px 12px;padding:10px 14px;display:grid}.target-picker button:hover{background:var(--acid);box-shadow:4px 4px 0 var(--line);transform:translate(-2px,-2px)}.target-picker .avatar{grid-row:span 2}.target-picker small,.choice-note{color:var(--muted)}.card-back-picker{overscroll-behavior-x:contain;gap:8px;width:100%;min-width:0;max-width:100%;margin:18px 0;padding:8px 4px 14px;display:flex;overflow-x:auto}.card-back-picker button{border:3px solid var(--line);background:repeating-linear-gradient(45deg, var(--acid) 0 8px, var(--ink) 8px 10px);color:#fff;cursor:pointer;border-radius:7px;flex:none;width:58px;height:82px;font-family:Georgia,serif;font-size:22px;font-weight:900}.card-back-picker button.selected{outline:5px solid var(--blue);outline-offset:2px;transform:translateY(-5px)}.known-card-picker{gap:14px;padding:8px 4px 14px;display:flex;overflow-x:auto}.known-card-picker .card{cursor:pointer}.reveal-toast{z-index:30;border:3px solid var(--line);background:var(--acid);width:min(620px,100% - 24px);padding:16px;position:fixed;top:78px;left:50%;transform:translate(-50%);box-shadow:8px 8px #000}.reveal-toast>strong{text-align:center;margin-bottom:12px;display:block}.reveal-toast>div{justify-content:center;gap:10px;display:flex;overflow-x:auto}.reveal-toast .card{width:92px;height:132px}.prism-card-picker{gap:8px;margin:18px 0 20px;padding:4px 2px 12px;display:flex;overflow-x:auto}.prism-card-picker>button{cursor:pointer;background:0 0;border:0;padding:0;position:relative}.prism-card-picker>button .card{width:92px;height:132px}.prism-card-picker>button.selected .card{outline:4px solid var(--orange);transform:translateY(-8px)}.selected-mark{border:2px solid var(--line);background:var(--acid);border-radius:50%;place-items:center;width:26px;height:26px;font-weight:900;display:grid;position:absolute;top:-8px;right:-2px}.pick-red{background:#ff5a46}.pick-blue{color:#fff;background:#4e7cff}.pick-yellow{background:#e5ff4f}.pick-green{background:#4cd598}.leaderboard{max-height:calc(100dvh - 40px);overflow:hidden}.leaderboard-actions{gap:10px;display:grid}.leaderboard ol{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:min(55dvh,520px);margin:0 0 20px;padding:0 4px 0 0;list-style:none;overflow-y:auto}.leaderboard li{border:2px solid var(--line);background:#fff;grid-template-columns:38px 42px minmax(0,1fr);align-items:center;gap:10px;margin:8px 0;padding:10px;font-size:20px;font-weight:900;display:grid}.leaderboard-place{border:2px solid var(--line);background:var(--acid);border-radius:50%;place-items:center;width:34px;height:34px;font-size:17px;display:grid}.leaderboard-avatar{font-size:30px}.leaderboard-name{overflow-wrap:anywhere;min-width:0}@media (max-width:900px){.hero{grid-template-columns:1fr;padding-top:45px}.hero-art{transform-origin:0 0;min-height:430px;transform:scale(.8)}.table-layout{grid-template-rows:auto auto auto;grid-template-columns:1fr}.opponents,.felt,.event-stream{grid-column:1}.event-stream{grid-row:3;max-height:180px}}@media (max-width:620px){.topbar,.game-header{padding-inline:14px}.topbar-actions{gap:8px}.rules-link{font-size:11px}.topbar .connection{display:none}.hero{min-height:auto;padding:42px 20px 60px;display:block}.hero h1{font-size:58px}.hero-art{min-height:310px;margin-top:30px;transform:scale(.58)}.settings-grid{grid-template-columns:1fr;gap:0}.avatar-picker>div{justify-content:start;gap:5px}.avatar-option{font-size:27px}.room-code-block{grid-template-columns:1fr}.room-code-block strong{grid-row:auto;font-size:38px}.qr-backdrop{padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));align-items:start;overflow-y:auto}.qr-modal{max-height:calc(100dvh - max(24px, env(safe-area-inset-top) + env(safe-area-inset-bottom)));margin-block:0}.qr-card{padding:12px}.qr-image-wrap{width:min(286px,100%)}.lobby-player{grid-template-columns:auto 1fr}.ready-badge{grid-column:2;justify-self:start}.settings-button{white-space:nowrap;max-width:92px;padding:6px 7px;font-size:10.5px;line-height:1.05}.turn-banner{max-width:58vw;padding:6px 9px;font-size:12px}.turn-banner span{font-size:23px}.game-shell{padding-top:calc(96px + env(safe-area-inset-top))}.game-shell .game-header{width:100%;min-height:calc(96px + env(safe-area-inset-top));padding-top:max(8px, env(safe-area-inset-top));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f5efdff5;position:fixed;inset:0 0 auto}.game-shell .game-header .logo{font-size:27px}.leave-game-button{max-width:76px;padding:6px 7px;font-size:9px;line-height:1.15}.table-layout{gap:7px;min-height:auto;padding:4px 6px 8px}.opponents{flex-wrap:nowrap;justify-content:flex-start;gap:4px;min-height:82px;padding:25px 2px 0;overflow-x:auto}.opponent{gap:1px;min-width:84px;padding:2px 5px}.opponent .avatar{width:34px;height:34px;font-size:19px}.opponent strong{text-overflow:ellipsis;white-space:nowrap;max-width:86px;font-size:12px;overflow:hidden}.opponent small{font-size:10px}.felt{border-radius:54px;gap:10px;min-height:244px;padding:20px 12px 14px}.table-cards{gap:24px}.felt .card,.draw-pile{width:90px;height:130px}.felt .card:not(.card-numeric-label) strong{font-size:17px}.event-stream{height:126px;max-height:126px;box-shadow:none;padding:9px 11px}.event-stream h2{margin-bottom:8px;font-size:18px}.event-stream p{padding-block:7px}.hand-zone{padding:7px 8px 20px}.hand-toolbar{align-items:flex-start}.self-row{gap:7px}.self-row .avatar{width:34px;height:34px;font-size:18px}.self-row small{font-size:11px}.player-settings>summary{min-height:34px;padding:7px 9px}.card-help-panel article{flex-basis:min(270px,100vw - 46px)}.hand{min-height:160px;padding-inline:2px}.hand .card{width:98px;height:142px;margin-left:-34px}.hand .card:not(.card-numeric-label) strong{font-size:17px}.color-picker{grid-template-columns:1fr}.modal-backdrop{padding:12px}.modal{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:24px 20px;box-shadow:6px 6px #000}.game-over-backdrop{align-items:flex-start}.game-over-backdrop .leaderboard{-webkit-overflow-scrolling:touch;max-height:calc(100svh - 24px);margin-block:12px;overflow-y:auto}.modal h2{overflow-wrap:anywhere;font-size:clamp(36px,13vw,52px)}.settings-panel{padding:20px 16px}.settings-room-code strong{font-size:27px}}:root[data-motion=reduce] .opponent,:root[data-motion=reduce] .next-marker,:root[data-motion=reduce] .poison-overlay,:root[data-motion=reduce] .kitten-button,:root[data-motion=reduce] .kitten-button span,:root[data-motion=reduce] .kitten-button.petted i,:root[data-motion=reduce] .kitten-scratches,:root[data-motion=reduce] .kitten-scratches span,:root[data-motion=reduce] .fire-burst,:root[data-motion=reduce] .fire-burst-flame,:root[data-motion=reduce] .fire-burst-flame:after{animation:none;transition:none!important}:root[data-motion=reduce] .hand .card-playable:hover{margin-right:0;transform:none}:root[data-motion=reduce] .modal,:root[data-motion=reduce] .modal-backdrop{transition:none!important}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .kitten-button,:root:not([data-motion=full]) .kitten-button span,:root:not([data-motion=full]) .kitten-button.petted i,:root:not([data-motion=full]) .kitten-scratches,:root:not([data-motion=full]) .kitten-scratches span,:root:not([data-motion=full]) .fire-burst,:root:not([data-motion=full]) .fire-burst-flame,:root:not([data-motion=full]) .fire-burst-flame:after,:root:not([data-motion=full]) .poison-overlay{animation:none;transition:none!important}:root:not([data-motion=full]) .hand .card-playable:hover{margin-right:0;transform:none}:root:not([data-motion=full]) .modal,:root:not([data-motion=full]) .modal-backdrop{transition:none!important}}.opponents{align-items:center;gap:4px}.play-order-arrow{border-top:14px solid #0000;border-bottom:14px solid #0000;border-left:24px solid var(--blue);filter:drop-shadow(2px 2px #1820182e);flex:none;align-self:center;width:0;height:0}.opponents.direction-anticlockwise .play-order-arrow{border-right:24px solid var(--blue);border-left:0}.opponent.next .next-marker,.self-row .next-marker{color:#071d2a;letter-spacing:0;text-transform:none;background:#59b9e8;border:0;border-radius:8px;padding:5px 10px;font-size:12px;bottom:-6px;left:50%;transform:translate(-50%);box-shadow:2px 2px #18201847}.self-row .skip-overlay{border-radius:50%}.card-count{border:1px solid var(--line);min-width:1.65em;color:var(--ink);text-align:center;background:#fff;border-radius:999px;padding:1px 5px;font-size:1.18em;font-weight:950;line-height:1.1;display:inline-block}@media (max-width:620px){.play-order-arrow{border-top-width:10px;border-bottom-width:10px;border-left-width:17px}.opponents.direction-anticlockwise .play-order-arrow{border-right-width:17px}.opponent.next .next-marker,.self-row .next-marker{padding:4px 8px;font-size:10px;bottom:-9px;left:50%}}.opponent.you .you-marker{z-index:2;background:var(--acid);color:var(--ink);letter-spacing:0;text-transform:none;white-space:nowrap;border:0;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:950;line-height:1;position:absolute;bottom:-6px;left:50%;transform:translate(-50%);box-shadow:2px 2px #18201847}.opponent.you.next .you-marker{left:calc(50% - 27px)}.opponent.you.next .next-marker{left:calc(50% + 27px)}@media (max-width:620px){.opponent.you .you-marker{padding:4px 8px;font-size:10px;bottom:5px}.opponent.you.next .you-marker{left:calc(50% - 22px)}.opponent.you.next .next-marker{left:calc(50% + 22px)}}
:root{--font-display:var(--font-fredoka), Arial, Helvetica, sans-serif;--font-ui:var(--font-fredoka), Arial, Helvetica, sans-serif}body{font-family:var(--font-ui)}.logo,h1,h2,h3,.room-code-block strong,.card .card-corner,.draw-pile span,.event-stream h2,.card-back-picker button{font-weight:600;font-family:var(--font-display)!important}.logo{font-weight:700}h1 em,h2 em,h3 em{font-style:normal}[class*=standardCard]>span,[class*=standardCard]>strong,[class*=specimen]>span,[class*=specimen]>strong,[class*=ruleNote]>strong,[class*=steps] li>span{font-weight:600;font-family:var(--font-display)!important}button,input,select,label,.connection,.room-pill,.rules-link,.turn-banner,.opponent,.felt-copy,.card small,.card .card-state,.event-stream p,.hand-zone,.ready-badge,.lobby-note{font-family:var(--font-ui)}
.setup-card details .settings-grid>label{grid-template-rows:1.4em 50px auto;align-content:start}.setup-card details .settings-grid>label>select{height:50px;min-height:50px}.setup-card details .settings-grid>label>small{align-self:start}
@media (max-width:620px){.game-shell{padding-top:calc(76px + env(safe-area-inset-top))}.game-shell .game-header{min-height:calc(76px + env(safe-area-inset-top));padding:max(6px, env(safe-area-inset-top)) 10px 6px;z-index:20;grid-template-columns:minmax(92px,1fr) auto minmax(92px,1fr)}.game-shell .game-header-center{display:contents;position:static}.game-shell .game-header .logo{white-space:nowrap;grid-area:1/2;place-self:center;font-size:28px}.game-shell .leave-game-button{white-space:nowrap;grid-area:1/1;align-self:center;max-width:none;padding:6px 7px;font-size:10.5px;line-height:1.05}.game-shell .settings-button{letter-spacing:.04em;white-space:nowrap;border-width:2px;grid-area:1/3;place-self:center end;max-width:92px;padding:6px 7px;font-size:10.5px;line-height:1.05;display:block}.game-shell .turn-banner{z-index:4;max-width:62vw;padding:5px 9px;font-size:11px;position:absolute;bottom:0;left:50%;transform:translate(-50%,50%)}.game-shell .turn-banner.your-turn{transform:translate(-50%,50%)}.game-shell .turn-banner span{font-size:21px}.game-shell .table-layout{z-index:1;gap:5px;padding:2px 6px 6px;position:relative}.game-shell .opponents{z-index:1;min-height:68px;padding:14px 2px 0;position:relative;overflow-y:visible;transform:translateY(-25px)}.game-shell .opponent{gap:2px;min-width:92px;padding:0 5px}.game-shell .opponent .avatar{border:2px solid var(--line);background:#fff;border-radius:50%;width:52px;height:52px;font-size:29px}.game-shell .opponent .skip-overlay{border-radius:50%;font-size:10px}.game-shell .opponent strong{margin-top:1px;font-size:12px}.game-shell .opponent small{font-size:10px}.game-shell .felt{gap:7px;min-height:244px;margin-top:-25px;padding:12px 8px 7px}.game-shell .table-cards{gap:26px}.game-shell .felt .card,.game-shell .draw-pile{width:102px;height:146px}.game-shell .felt .card:not(.card-numeric-label) strong{font-size:20px}.game-shell .felt .card small{font-size:10px}.game-shell .draw-pile span{font-size:46px}.game-shell .draw-pile small{font-size:14px}.game-shell .felt-copy span{font-size:11px}.game-shell .felt-copy strong{font-size:18px}.game-shell .event-stream{height:112px;max-height:112px;padding:7px 10px 5px}.game-shell .event-stream h2{margin-bottom:4px;font-size:18px;line-height:1.05}.game-shell .event-stream p{padding-block:5px}.game-shell .table-layout.event-stream-hidden{padding-bottom:24px}}
.opponents{gap:2px}.opponent{min-width:112px;padding-inline:9px}.play-order-arrow{border-top-width:12px;border-bottom-width:12px;border-left-width:20px}.opponents.direction-anticlockwise .play-order-arrow{border-right-width:20px}@media (max-width:620px){.opponents{gap:2px;padding-inline:0}.opponent{min-width:76px;padding-inline:3px}.opponent strong{max-width:76px}.play-order-arrow{border-top-width:9px;border-bottom-width:9px;border-left-width:14px}.opponents.direction-anticlockwise .play-order-arrow{border-right-width:14px}}
