/*! tailwindcss v4.3.5 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-6xl:72rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-semibold:600;--font-weight-bold:700;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-night:#141127;--color-night-2:#1d1838;--color-night-3:#2a2350;--color-cream:#fff6e6;--color-haze:#bdb4dc;--color-gold:#f5be1d;--color-gold-soft:#ffe27a;--color-coral:#ff6b5b;--color-mint:#4fd8a8;--color-line:#fff6e61f;--font-display:"Fredoka", "Jua", "M PLUS Rounded 1c", ui-rounded, system-ui, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Hiragino Sans", "Noto Sans JP", Roboto, sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{:where(.prose-guide) h2{font-family:var(--font-display);overflow-wrap:break-word;margin:0 0 .75rem;font-size:clamp(1.5rem,1.1rem + 1.4vw,2rem);font-weight:600;line-height:1.2}:where(.prose-guide) h3{font-family:var(--font-display);margin:1.75rem 0 .5rem;font-size:1.2rem;font-weight:600}:where(.prose-guide) p,:where(.prose-guide) li{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){:where(.prose-guide) p,:where(.prose-guide) li{color:color-mix(in srgb, var(--ink) 88%, transparent)}}:where(.prose-guide) p{margin:0 0 1rem}.deck-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.deck-table th,.deck-table td{text-align:left;border-bottom:1px solid var(--line);padding:.6rem .75rem}.deck-table th{color:var(--muted);font-size:.9rem;font-weight:600}.faq details{border-bottom:1px solid var(--line);padding:.9rem 0}.faq summary{cursor:pointer;justify-content:space-between;gap:1rem;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--font-display);color:var(--gold-2);font-size:1.3rem;line-height:1}.faq details[open] summary:after{content:"−"}.faq details p{margin:.6rem 0 0}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:0}.mx-auto{margin-inline:auto}.mt-0{margin-top:0}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-0{margin-bottom:0}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.table{display:table}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.min-h-\[90px\]{min-height:90px}.min-h-\[250px\]{min-height:250px}.min-h-dvh{min-height:100dvh}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[46ch\]{max-width:46ch}.max-w-\[760px\]{max-width:760px}.max-w-\[970px\]{max-width:970px}.max-w-\[980px\]{max-width:980px}.max-w-xl{max-width:var(--container-xl)}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.list-none{list-style-type:none}.grid-cols-\[2\.25rem_minmax\(0\,1fr\)\]{grid-template-columns:2.25rem minmax(0,1fr)}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-14{gap:calc(var(--spacing) * 14)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.overflow-x-auto{overflow-x:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-line{border-color:var(--color-line)}.bg-cream{background-color:var(--color-cream)}.bg-gold{background-color:var(--color-gold)}.bg-night-2{background-color:var(--color-night-2)}.p-0{padding:0}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-20{padding-top:calc(var(--spacing) * 20)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.font-display{font-family:var(--font-display)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.\!text-\[1\.35rem\]{font-size:1.35rem!important}.text-\[1\.05rem\]{font-size:1.05rem}.text-\[clamp\(2\.2rem\,1\.4rem\+3\.6vw\,3\.8rem\)\]{font-size:clamp(2.2rem,1.4rem + 3.6vw,3.8rem)}.text-\[clamp\(2rem\,1\.5rem\+2vw\,2\.8rem\)\]{font-size:clamp(2rem,1.5rem + 2vw,2.8rem)}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[overflow-wrap\:break-word\]{overflow-wrap:break-word}.text-cream{color:var(--color-cream)}.text-gold{color:var(--color-gold)}.text-haze{color:var(--color-haze)}.text-night{color:var(--color-night)}.no-underline{text-decoration-line:none}.ring{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}@media (hover:hover){.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\:text-cream:hover{color:var(--color-cream)}}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pt-10{padding-top:calc(var(--spacing) * 10)}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}}.fb-app{scroll-margin-top:12px;position:relative}.btn{min-height:46px;font:600 1rem/1.2 var(--font-display);color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:0;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;transition:transform .12s,background-color .16s,opacity .16s;display:inline-flex}.btn:active{transform:translateY(1px)scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg, var(--gold-1), var(--gold-2));color:#3a2600;box-shadow:0 4px 0 var(--gold-3), 0 10px 24px #f5be1d40}.btn-primary:active{box-shadow:0 2px 0 var(--gold-3)}.btn-ghost{box-shadow:inset 0 0 0 1.5px var(--line);background:#fff6e614}.btn-ghost:hover{background:#fff6e624}.btn-xl{width:100%;min-height:58px;padding-inline:1.6rem;font-size:1.15rem}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{min-height:38px;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink);font:600 .92rem/1 var(--font-display);cursor:pointer;background:#fff6e612;border:0;border-radius:999px;padding:.35rem .85rem;transition:background-color .14s,color .14s}.chip.is-on{background:var(--ink);color:var(--bg);box-shadow:none}kbd{min-width:1.6em;font:600 .8em/1.5 var(--font-body);text-align:center;background:#fff6e61f;border-radius:6px;padding:.05em .4em;display:inline-block;box-shadow:inset 0 -2px #00000059}.notice{background:#ff4d6d24;border-radius:12px;margin:0 0 1rem;padding:.7rem 1rem;box-shadow:inset 0 0 0 1.5px #ff4d6d66}.menu{border-radius:calc(var(--radius) + 6px);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);padding:clamp(1rem,3vw,1.75rem)}.menu-top{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.25rem;display:flex}.menu-title{font:600 clamp(1.3rem, 1rem + 1vw, 1.6rem) / 1.2 var(--font-display);margin:0}.name-field{color:var(--muted);gap:.25rem;font-size:.9rem;display:grid}.name-field input,.join-form input,.invite-row input{min-height:44px;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink);font:500 1rem var(--font-body);background:#00000047;border:0;border-radius:12px;min-width:0;padding:.5rem .8rem}.modes{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}@media (width>=640px){.modes{grid-template-columns:repeat(2,minmax(0,1fr))}}.mode{border-radius:var(--radius);background:var(--bg-3);flex-direction:column;gap:.75rem;padding:1.1rem;display:flex;position:relative;overflow:hidden}.mode:before{content:"";background:var(--mode-color,var(--gold-2));height:4px;position:absolute;inset:0 0 auto}.mode--online{--mode-color:var(--accent)}.mode--friends{--mode-color:var(--good)}.mode--ai{--mode-color:var(--gold-2)}.mode--duel{--mode-color:#8a9bff}.mode h3{font:600 1.15rem/1.25 var(--font-display);margin:0}.mode p{color:var(--muted);margin:0;font-size:.95rem}.mode .btn{margin-top:auto}.mode-hint{font-size:.85rem!important}.mode-keys{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.join-form{gap:.5rem;display:flex}.join-form input{text-transform:uppercase;letter-spacing:.08em;flex:1}.modal-backdrop{z-index:50;backdrop-filter:blur(6px);background:#080614b8;place-items:center;padding:16px;animation:.18s both fade-in;display:grid;position:fixed;inset:0}.modal{text-align:center;background:var(--bg-2);width:min(100%,440px);max-height:calc(100dvh - 32px);box-shadow:inset 0 0 0 1px var(--line), 0 30px 80px #00000080;border-radius:24px;justify-items:center;gap:.75rem;padding:1.5rem 1.25rem;animation:.26s cubic-bezier(.2,1.4,.4,1) both pop-in;display:grid;overflow:auto}.modal h2{font:600 1.4rem/1.2 var(--font-display);margin:0}.mm-anim{justify-content:center;align-items:end;gap:.4rem;height:104px;display:flex}.mm-bell{transform-origin:50% 90%;width:96px;animation:1.1s ease-in-out infinite mm-bell}.mm-fruit{animation:.9s ease-in-out infinite mm-bounce}.mm-fruit--2{animation-delay:.15s}.mm-fruit--3{animation-delay:.3s}.mm-fruit--4{animation-delay:.45s}.mm-status{color:var(--muted);margin:0}.mm-status.is-error{color:#ffb3c1}.mm-timer{color:var(--muted);align-items:baseline;gap:.5rem;margin:0;display:flex}.mm-timer strong{font:600 2rem/1 var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums}.mm-queue{color:var(--good);margin:0;font-weight:600}.mm-ai{background:var(--bg-3);border-radius:18px;justify-items:center;gap:.6rem;width:100%;margin-top:.5rem;padding:1rem;display:grid}.mm-hint{color:var(--muted);margin:0;font-size:.85rem}.lobby{text-align:center;border-radius:calc(var(--radius) + 6px);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);justify-items:center;gap:.9rem;padding:clamp(1.25rem,4vw,2rem);display:grid}.lobby h2{font:600 1.5rem/1.2 var(--font-display);margin:0}.lobby-code{color:var(--muted);gap:.2rem;margin:0;display:grid}.lobby-code strong{font:700 2.4rem/1 var(--font-display);letter-spacing:.12em;color:var(--gold-1)}.invite{text-align:left;width:min(100%,460px);color:var(--muted);gap:.3rem;font-size:.9rem;display:grid}.invite-row{gap:.5rem;display:flex}.invite-row input{flex:1;font-size:.9rem}.lobby-count,.lobby-wait,.results-wait{color:var(--muted);margin:0}.lobby-players{gap:.4rem;width:min(100%,360px);margin:0;padding:0;list-style:none;display:grid}.lobby-players li{background:var(--bg-3);border-radius:12px;justify-content:space-between;padding:.55rem .9rem;display:flex}.lobby-players li.is-away{opacity:.5}.lobby-players em{color:var(--gold-1);font-size:.85rem;font-style:normal}.table-wrap{--card-w:clamp(60px, 15vw, 104px);grid-template-columns:minmax(0,1fr);gap:.6rem;min-width:0;display:grid;position:relative}.players-3,.players-4{--card-w:clamp(50px, 12.5vw, 92px)}.hud{background:var(--bg-2);min-width:0;box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;align-items:center;gap:.75rem;padding:.5rem .6rem .5rem .9rem;display:flex}.hud-clock{font:600 1.15rem/1 var(--font-display);font-variant-numeric:tabular-nums;align-items:center;gap:.35rem;display:inline-flex}.hud-clock svg{width:20px;height:20px;color:var(--gold-2)}.hud-clock .is-low{color:var(--bad)}.hud-status{text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.hud-actions{gap:.4rem;display:flex}.hud-btn{min-width:38px;min-height:38px;color:var(--ink);font:600 .9rem var(--font-display);cursor:pointer;background:#fff6e614;border:0;border-radius:10px;place-items:center;padding:0 .6rem;display:inline-grid}.hud-btn svg{width:22px;height:22px}.felt{background:radial-gradient(ellipse at 50% 45%, #ffffff14, transparent 60%), radial-gradient(ellipse at center, var(--felt-1), var(--felt-2));box-shadow:inset 0 0 0 clamp(6px, 1.4vw, 12px) var(--rim), inset 0 0 0 calc(clamp(6px, 1.4vw, 12px) + 3px) var(--rim-2), inset 0 20px 60px #00000059, 0 24px 60px #0006;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:clamp(28px,6vw,64px);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:".top.""left bell right"".bottom.";place-items:center;gap:clamp(.4rem,2vw,1rem);min-height:420px;padding:clamp(.75rem,3vw,1.5rem) clamp(.4rem,2vw,1.25rem);display:grid;position:relative}.players-2 .felt{grid-template-columns:minmax(0,1fr);grid-template-areas:"top""bell""bottom"}.seat{min-width:0}.seat--bottom{grid-area:bottom}.seat--top{grid-area:top}.seat--left{grid-area:left}.seat--right{grid-area:right}.seat.is-flipped{transform:rotate(180deg)}.seat-inner{background:#0000002e;border-radius:16px;justify-items:center;gap:.35rem;padding:.45rem .55rem .55rem;transition:box-shadow .2s,background-color .2s;display:grid;box-shadow:inset 0 0 0 2px #0000}.seat.is-turn .seat-inner{box-shadow:inset 0 0 0 2px var(--gold-1), 0 0 24px #ffe27a40;background:#00000047}.seat.is-out .seat-inner{opacity:.45;filter:grayscale(.8)}.seat-inner.is-shaking{background:#ff4d6d40;animation:.42s both shake}.seat-head{max-width:calc(var(--card-w) * 2.4);text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.15rem .45rem;line-height:1.2;display:flex}.seat-name{font:600 .95rem/1.2 var(--font-display);overflow-wrap:anywhere}.seat-count{color:#fff6e6bf;font-variant-numeric:tabular-nums;font-size:.8rem}.seat-offline{color:#ffb3c1;font-size:.75rem}.seat-cards{align-items:center;gap:clamp(.3rem,1.2vw,.7rem);display:flex}.seat--left .seat-cards,.seat--right .seat-cards{flex-direction:column}.players-4 .seat--left .seat-cards,.players-4 .seat--right .seat-cards,.players-3 .seat--left .seat-cards,.players-3 .seat--right .seat-cards{flex-direction:column-reverse}.deck{width:calc(var(--card-w) * .72);position:relative}.pile{width:var(--card-w)}.card{aspect-ratio:100/140;filter:drop-shadow(0 3px 4px #00000059);border-radius:10%/7%;width:100%;position:relative}.card-svg{width:100%;height:100%;display:block}.card--slot{filter:none;border:2px dashed #fff6e640}.card--face{transform-origin:50% 100%;animation:.26s cubic-bezier(.2,.9,.3,1.2) both card-in}.deck-depth{z-index:-1;background:var(--back-1);opacity:.6;border-radius:10%/7%;position:absolute;inset:4px -4px -4px 4px}.deck-count{background:var(--bg);min-width:24px;box-shadow:inset 0 0 0 1.5px var(--line);font:600 .78rem/1.3 var(--font-display);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:.1rem .35rem;position:absolute;bottom:-6px;right:-6px}.turn-bar{background:#fff6e626;border-radius:4px;width:100%;height:4px;overflow:hidden}.turn-bar span{background:var(--gold-1);transform-origin:0;height:100%;animation:linear both turn-drain;display:block}.flip-btn{color:#2a2350;min-height:44px;font:600 .95rem/1 var(--font-display);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:linear-gradient(#fff,#e9e1cf);border:0;border-radius:12px;align-items:center;gap:.4rem;padding:.45rem 1rem;display:inline-flex;box-shadow:0 4px #b9ad94}.flip-btn:not(:disabled){animation:1.4s ease-in-out infinite nudge}.flip-btn:active{transform:translateY(2px);box-shadow:0 2px #b9ad94}.flip-btn:disabled{opacity:.4;cursor:default;animation:none}.flip-btn kbd{box-shadow:none;background:#2a23501f}.bell-zone{grid-area:bell;justify-items:center;gap:.25rem;padding:.5rem 0;display:grid;position:relative}.bell{aspect-ratio:220/200;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;width:clamp(130px,34vw,220px);padding:0;position:relative}.players-3 .bell,.players-4 .bell{width:clamp(110px,28vw,200px)}.bell:disabled{cursor:default}.bell-body{width:100%;height:100%;display:block}.bell-svg{width:100%;height:100%;display:block;overflow:visible}.bell-svg .bell-plunger,.bell-svg .bell-dome{transform-box:fill-box}.bell-body.is-ringing .bell-plunger{animation:.26s ease-out both plunger}.bell-body.is-ringing .bell-dome{transform-origin:50% 100%;animation:.52s ease-out both dome-wobble}.bell-fx{pointer-events:none;position:absolute;inset:0}.bell-wave{aspect-ratio:1;border:6px solid var(--gold-1);opacity:0;border-radius:50%;width:100%;animation:.62s ease-out both shockwave;position:absolute;top:55%;left:50%;transform:translate(-50%,-50%)scale(.4)}.bell-wave--2{border-width:3px;animation-delay:.11s}.tone-good .bell-wave{border-color:var(--gold-1)}.tone-bad .bell-wave{border-color:var(--bad)}.bell-hand{transform-origin:50%;width:44%;transform:translate(-50%, -12%) rotate(var(--hand-rot,0deg));animation:.42s ease-out both slap;position:absolute;top:0;left:50%}.hand-svg{filter:drop-shadow(0 6px 8px #00000059);width:100%;display:block}.bell-hint{text-align:center;color:#fff6e6b3;max-width:26ch;margin:0;font-size:.78rem}.players-3 .bell-hint,.players-4 .bell-hint{display:none}.snap-badge{z-index:5;text-align:center;pointer-events:none;border-radius:16px;justify-items:center;gap:.15rem;width:max-content;max-width:min(90vw,340px);padding:.55rem 1rem;animation:1.7s cubic-bezier(.2,1.2,.3,1) both badge;display:grid;position:absolute;top:-.5rem;left:50%}.snap-badge strong{font:700 clamp(1.2rem, 1rem + 1.4vw, 1.7rem) / 1.1 var(--font-display)}.snap-badge span{font-size:.85rem}.snap-badge.tone-good{background:linear-gradient(180deg, var(--gold-1), var(--gold-2));color:#3a2600;box-shadow:0 10px 30px #f5be1d73}.snap-badge.tone-bad{background:var(--bad);color:#fff;box-shadow:0 10px 30px #ff4d6d73}.snap-fruits{gap:.5rem;display:flex}.snap-fruit{align-items:center;gap:.2rem;font-weight:700;display:inline-flex}.toasts{pointer-events:none;z-index:4;justify-items:center;gap:.35rem;width:max-content;max-width:92%;display:grid;position:absolute;bottom:.75rem;left:50%;transform:translate(-50%)}.toast{background:#080614c7;border-radius:999px;padding:.35rem .8rem;font-size:.85rem;animation:2.2s both toast}.toast.tone-bad{color:#ffb3c1}.fly-ghost{z-index:60;pointer-events:none;margin:0!important;animation:none!important;position:fixed!important}.mode-duel .seat--top .flip-btn kbd,.mode-duel .seat--bottom .flip-btn kbd{font-size:.72em}.bell.is-split:after{content:"";border-radius:50%;position:absolute;inset:0}.results{z-index:20;backdrop-filter:blur(4px);background:#080614b3;border-radius:clamp(28px,6vw,64px);place-items:center;padding:16px;animation:.22s both fade-in;display:grid;position:absolute;inset:0}.results-card{text-align:center;background:var(--bg-2);width:min(100%,380px);box-shadow:inset 0 0 0 1px var(--line), 0 30px 80px #00000080;border-radius:24px;justify-items:center;gap:.6rem;padding:1.4rem 1.2rem;animation:.32s cubic-bezier(.2,1.4,.4,1) both pop-in;display:grid}.results-bell{transform-origin:50% 90%;width:84px;animation:1.2s ease-in-out 2 mm-bell}.results h3{font:700 1.8rem/1.1 var(--font-display);color:var(--gold-1);margin:0}.results h4{color:var(--muted);margin:.4rem 0 0;font-size:.9rem;font-weight:600}.results-reason{color:var(--muted);margin:0}.results-list{gap:.3rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.results-list li{background:var(--bg-3);font-variant-numeric:tabular-nums;border-radius:10px;justify-content:space-between;padding:.45rem .8rem;display:flex}.results-list li.is-winner{box-shadow:inset 0 0 0 2px var(--gold-1)}.results-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.4rem;display:flex}.table-status{text-align:center;color:var(--muted)}@media (width<=520px){.felt{border-radius:28px;min-height:360px}.hud-quit{font-size:.8rem}.seat-inner{padding:.35rem .35rem .45rem}.players-3 .seat-name,.players-4 .seat-name{font-size:.8rem}}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.9)translateY(10px)}}@keyframes card-in{0%{opacity:0;transform:perspective(500px)rotateY(80deg)translateY(-8px)scale(.9)}}@keyframes turn-drain{0%{transform:scaleX(var(--from,1))}to{transform:scaleX(0)}}@keyframes plunger{0%{transform:translateY(0)}35%{transform:translateY(14px)}to{transform:translateY(0)}}@keyframes dome-wobble{0%{transform:rotate(0)scale(1)}15%{transform:rotate(-3deg)scale(1.03,.97)}35%{transform:rotate(2.5deg)}55%{transform:rotate(-1.5deg)}75%{transform:rotate(.8deg)}to{transform:rotate(0)}}@keyframes shockwave{0%{opacity:.95;transform:translate(-50%,-50%)scale(.45)}to{opacity:0;transform:translate(-50%,-50%)scale(1.9)}}@keyframes slap{0%{opacity:0;transform:translate(-50%, -12%) rotate(var(--hand-rot,0deg)) translateY(60%) scale(1.25)}30%{opacity:1;transform:translate(-50%, -12%) rotate(var(--hand-rot,0deg)) translateY(0) scale(.95)}70%{opacity:1;transform:translate(-50%, -12%) rotate(var(--hand-rot,0deg)) translateY(4%) scale(1)}to{opacity:0;transform:translate(-50%, -12%) rotate(var(--hand-rot,0deg)) translateY(30%) scale(1.05)}}@keyframes badge{0%{opacity:0;transform:translate(-50%,20px)scale(.6)}15%{opacity:1;transform:translate(-50%,-6px)scale(1.06)}25%{transform:translate(-50%)scale(1)}80%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-16px)scale(.96)}}@keyframes toast{0%{opacity:0;transform:translateY(8px)}12%,85%{opacity:1;transform:none}to{opacity:0}}@keyframes shake{0%,to{transform:none}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}@keyframes nudge{0%,to{transform:none}50%{transform:translateY(-3px)}}@keyframes mm-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-18px)}}@keyframes mm-bell{0%,to{transform:rotate(0)}20%{transform:rotate(-8deg)}40%{transform:rotate(7deg)}60%{transform:rotate(-4deg)}80%{transform:rotate(2deg)}}@media (prefers-reduced-motion:reduce){.flip-btn:not(:disabled),.mm-bell,.mm-fruit{animation:none}.snap-badge,.toast{transform:translate(-50%);animation:none!important}.toast{transform:none}}:root{color-scheme:dark;--bg:var(--color-night);--bg-2:var(--color-night-2);--bg-3:var(--color-night-3);--ink:var(--color-cream);--muted:var(--color-haze);--line:var(--color-line);--gold-1:var(--color-gold-soft);--gold-2:var(--color-gold);--gold-3:#a86f00;--accent:var(--color-coral);--good:var(--color-mint);--bad:#ff4d6d;--felt-1:#23876a;--felt-2:#12523f;--rim:#6b3f22;--rim-2:#3d2213;--card-face:#fffaf0;--card-edge:#d9ccb4;--back-1:#e0503f;--back-2:#f07a5c;--hand:#ffd7b0;--hand-edge:#b9773f;--fruit-strawberry:#e8323c;--fruit-banana:#e2a400;--fruit-lime:#4fae2f;--fruit-grape:#8a45c9;--font-display:"Fredoka", "Jua", ui-rounded, system-ui, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Hiragino Sans", "Noto Sans JP", Roboto, sans-serif;--radius:18px;--focus:0 0 0 3px var(--bg), 0 0 0 6px var(--gold-1)}html,body{overflow-x:clip}body{background:radial-gradient(1200px 600px at 50% -10%, #f5be1d24, transparent 60%), radial-gradient(900px 500px at 100% 30%, #ff6b5b14, transparent 60%), var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}:where(a,button,input,select,summary):focus-visible{box-shadow:var(--focus);border-radius:10px;outline:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
