@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) 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}}}@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;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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]){-webkit-text-decoration:underline dotted;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;-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;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.block{display:block}.flex{display:flex}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--felt:#14603d;--felt-dark:#0b3d27;--felt-edge:#0f4d31;--ink:#f6f3e8;--gold:#f2c14e;--panel:#081c14c7;--ch:min(25cqh, 14cqw, 250px);--cw:calc(var(--ch) * 5 / 7);--anim:.3s}*{-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;background-color:var(--felt);height:100%;color:var(--ink);touch-action:manipulation;-webkit-user-select:none;user-select:none;background-image:radial-gradient(#ffffff0b 1px,#0000 1px);background-size:5px 5px;font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}button{font:inherit;cursor:pointer}.felt{background:radial-gradient(ellipse 75% 85% at 50% 45%, #1d7a4d 0%, var(--felt) 66%);position:absolute;inset:0;overflow:hidden}.felt:before{content:"";pointer-events:none;background-image:radial-gradient(#ffffff0b 1px,#0000 1px);background-size:5px 5px;position:absolute;inset:0}.hud{z-index:20;background:var(--panel);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #ffffff1f;border-radius:12px;padding:6px 10px;font-size:clamp(11px,2.4cqh,14px);line-height:1.25;position:absolute}.hud-score{z-index:20;top:max(8px, var(--sat));left:max(8px, var(--sal));border:2px solid #ffffff8c;border-radius:10px;align-items:stretch;display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 8px #0006}.score-box{flex-direction:column;justify-content:center;align-items:center;min-width:clamp(38px,11cqh,56px);padding:2px 12px;line-height:1.05;display:flex}.score-box b{font-size:clamp(18px,6cqh,30px);font-weight:900}.score-box span{opacity:.85;font-size:clamp(9px,2cqh,11px)}.score-box.us{background:#b81d24}.score-box.them{background:#1c4fd0}.hud-score .to{display:none;position:absolute;bottom:-1px;left:0;right:0}.tagrow{align-items:center;gap:6px;display:flex}.tricks{white-space:nowrap;border:1.5px solid #ffffffb3;border-radius:8px;justify-content:center;align-items:center;min-width:1.9em;height:1.9em;padding:0 6px;font-size:clamp(11px,2.6cqh,15px);font-weight:900;display:inline-flex}.tricks.us{background:#b81d24}.tricks.them{background:#1c4fd0}.trump-mark{color:#ffd54a;margin-left:4px;font-size:1.15em;line-height:1}.dealer-chip{color:#111;background:radial-gradient(circle at center, #fff 0 56%, transparent 58%), repeating-conic-gradient(#d32f2f 0 15deg, #fff 15deg 30deg);border-radius:50%;place-items:center;width:2.1em;height:2.1em;font-size:clamp(11px,2.6cqh,15px);font-weight:900;display:inline-grid;box-shadow:0 2px 5px #00000080}.hud-trump{top:max(8px, var(--sat));right:calc(max(8px, var(--sar)) + 158px);align-items:center;gap:8px;display:flex}.hud-trump .suit{font-size:2em;line-height:1}.hud-buttons{top:max(8px, var(--sat));right:max(8px, var(--sar));gap:6px;padding:4px;display:flex}.icon-btn{width:clamp(30px,8cqh,38px);height:clamp(30px,8cqh,38px);color:var(--ink);background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;place-items:center;font-size:1.1rem;display:grid}.icon-btn:hover{background:#ffffff2e}.icon-btn:disabled{opacity:.35;cursor:default}.prompt{left:50%;bottom:calc(100% - var(--ch) * .18 + 2px);white-space:nowrap;background:#00000073;border-radius:999px;padding:2px 14px;font-size:clamp(11px,2.5cqh,15px);position:absolute;transform:translate(-50%)}.prompt.you{background:var(--gold);color:#2a2110;font-weight:700}.card{--w:var(--cw);width:var(--w);aspect-ratio:5/7;border-radius:calc(var(--w) * .09);filter:drop-shadow(0 2px 3px #0006);background:0 0;border:0;flex:none;padding:0;transition:transform .14s,filter .14s,opacity .14s;display:block;position:relative}.card-svg{width:100%;height:100%;display:block}.card.small{--w:calc(var(--cw) * .55)}.card.trick{--w:calc(var(--cw) * .74)}.card.dim{filter:brightness(.4)saturate(.35)drop-shadow(0 2px 3px #0006)}.card.legal{cursor:pointer;touch-action:none}.card.dragging{z-index:40;filter:drop-shadow(0 0 8px var(--gold)) drop-shadow(0 6px 8px #00000080);transition:none}.card.legal:hover,.card.selected{transform:translateY(calc(var(--ch) * -.16))}.card.glow{filter:drop-shadow(0 0 6px var(--gold)) drop-shadow(0 0 12px var(--gold))}.card.winning{filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 10px var(--gold))}.seat{z-index:5;align-items:center;display:flex;position:absolute}.seat-0{bottom:max(6px, var(--sab));z-index:12;flex-direction:column;left:50%;transform:translate(-50%)}.seat-2{top:max(6px, var(--sat));flex-direction:column-reverse;left:50%;transform:translate(-50%)}.seat-1{left:max(10px, var(--sal));flex-direction:column;top:50%;transform:translateY(-46%)}.seat-3{right:max(10px, var(--sar));flex-direction:column;top:50%;transform:translateY(-46%)}.hand-row{padding-top:calc(var(--ch) * .18);justify-content:center;align-items:flex-end;display:flex}.hand-row .card+.card{margin-left:calc(var(--cw) * -.28)}.hand-row.small .card+.card{margin-left:calc(var(--cw) * -.3)}.hand-col{flex-direction:column;align-items:center;display:flex}.hand-col .card+.card{margin-top:calc(var(--ch) * -.43)}.dealt{animation:dealFly calc(var(--anim) * 1.5) cubic-bezier(.2, .8, .3, 1) both}@keyframes dealFly{0%{opacity:0;transform:translate(var(--dx,0), var(--dy,-30px)) scale(.55) rotate(-25deg)}35%{opacity:1}to{opacity:1;transform:none}}.tag{background:var(--panel);white-space:nowrap;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:5px;margin:2px 0;padding:1px 9px;font-size:clamp(10px,2.3cqh,13px);font-weight:650;display:inline-flex}.tag.turn{border-color:var(--gold);box-shadow:0 0 0 2px #f2c14e59}.chip{background:var(--gold);color:#2a2110;border-radius:999px;place-items:center;min-width:1.6em;height:1.6em;padding:0 4px;font-size:.78em;font-weight:800;display:inline-grid}.chip.alt{background:#e8edf2}.chip.red{background:#ff8a80}.bubble{z-index:30;color:#1a1a1a;white-space:nowrap;pointer-events:none;background:#fffdf4;border-radius:12px;padding:4px 11px;font-size:clamp(11px,2.6cqh,15px);font-weight:700;animation:.22s ease-out both pop;position:absolute;box-shadow:0 3px 10px #00000059}@keyframes pop{0%{opacity:0;transform:translate(var(--bx,0), var(--by,0)) scale(.7)}to{opacity:1;transform:translate(var(--bx,0), var(--by,0)) scale(1)}}.bubble-0{right:calc(50% + var(--cw) * 2.4);bottom:calc(var(--ch) * .5)}.bubble-2{right:calc(50% + var(--cw) * 1.7);top:calc(var(--ch) * .2)}.bubble-1{left:calc(var(--cw) * .55 + 28px);top:50%;translate:0 -50%}.bubble-3{right:calc(var(--cw) * .55 + 28px);top:50%;translate:0 -50%}.center{width:calc(var(--cw) * 3.6);height:calc(var(--ch) * 1.5);z-index:8;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.slot{position:absolute}.slot-0{bottom:0;left:50%;translate:-50%}.slot-2{top:0;left:50%;translate:-50%}.slot-1{top:50%;left:2%;translate:0 -50%}.slot-3{top:50%;right:2%;translate:0 -50%}.slot .card{animation:fly var(--anim) cubic-bezier(.2, .8, .3, 1) both}.slot-0 .card{--fx:0px;--fy:calc(var(--ch) * .9)}.slot-2 .card{--fx:0px;--fy:calc(var(--ch) * -.9)}.slot-1 .card{--fx:calc(var(--cw) * -1.4);--fy:0px}.slot-3 .card{--fx:calc(var(--cw) * 1.4);--fy:0px}@keyframes fly{0%{opacity:.2;transform:translate(var(--fx), var(--fy)) scale(.75) rotate(var(--rot,0deg))}to{opacity:1;transform:rotate(var(--rot,0deg))}}.slot.leaving .card{animation:.42s ease-in both collect}.leave-0 .card{--lx:0px;--ly:calc(var(--ch) * 1.4)}.leave-2 .card{--lx:0px;--ly:calc(var(--ch) * -1.4)}.leave-1 .card{--lx:calc(var(--cw) * -2);--ly:0px}.leave-3 .card{--lx:calc(var(--cw) * 2);--ly:0px}@keyframes collect{to{opacity:0;transform:translate(var(--lx), var(--ly)) scale(.6)}}.bid-panel{justify-content:center;align-items:center;gap:calc(var(--cw) * .35);display:flex;position:absolute;inset:0}.bid-buttons{min-width:calc(var(--cw) * 1.9);flex-direction:column;gap:6px;display:flex}.suit-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.btn{color:var(--ink);background:#ffffff1a;border:1px solid #ffffff38;border-radius:12px;padding:7px 14px;font-size:clamp(12px,2.8cqh,16px);font-weight:700;transition:background .12s,transform 80ms}.btn:hover:not(:disabled){background:#fff3}.btn:active:not(:disabled){transform:scale(.97)}.btn.primary{background:var(--gold);color:#2a2110;border-color:var(--gold)}.btn.primary:hover:not(:disabled){background:#ffd36b}.btn.suit{color:#171a2b;background:#fffdf4;padding:2px 10px;font-size:clamp(18px,4.6cqh,28px);line-height:1.25}.btn.suit.red{color:#c8283c}.btn.hinted{box-shadow:0 0 0 3px var(--gold), 0 0 14px var(--gold)}.btn:disabled{opacity:.4;cursor:default}.toggle-row{justify-content:center;align-items:center;gap:8px;font-size:clamp(11px,2.5cqh,14px);display:flex}.overlay{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;place-items:center;padding:12px;display:grid;position:absolute;inset:0}.modal{background:#12392a;border:1px solid #ffffff2e;border-radius:18px;width:min(560px,94cqw);max-height:92cqh;padding:clamp(10px,3cqh,22px) clamp(14px,3cqw,28px);animation:.2s ease-out both pop;overflow:auto;box-shadow:0 18px 50px #00000080}.modal h2{margin-bottom:6px;font-size:clamp(16px,4.2cqh,24px);font-weight:800}.setting{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:14px;padding:clamp(4px,1.2cqh,9px) 0;font-size:clamp(12px,2.8cqh,15px);display:flex}.setting small{opacity:.65;font-size:.82em;display:block}.seg{border:1px solid #fff3;border-radius:10px;flex:none;display:inline-flex;overflow:hidden}.seg button{color:var(--ink);background:0 0;border:0;padding:5px 11px;font-size:.95em;font-weight:650}.seg button.on{background:var(--gold);color:#2a2110}.switch{background:#ffffff38;border:0;border-radius:999px;flex:none;width:44px;height:26px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch.on{background:var(--gold)}.switch.on:after{transform:translate(18px)}.result-cards{justify-content:center;gap:4px;margin:6px 0;display:flex}.result-cards .card{--w:calc(var(--cw) * .7)}.menu{background:radial-gradient(ellipse 75% 85% at 50% 40%, #1d7a4d 0%, var(--felt) 66%);text-align:center;place-items:center;display:grid;position:absolute;inset:0}.menu h1{letter-spacing:.04em;font-size:clamp(34px,12cqh,76px);font-weight:900;line-height:1}.menu .suits{letter-spacing:.4em;margin:6px 0 clamp(8px,3cqh,22px);padding-left:.4em;font-size:clamp(20px,6cqh,36px)}.menu .btn{width:100%;margin-top:8px;padding:clamp(7px,2cqh,12px) 14px;display:block}.menu-fan{justify-content:center;margin-bottom:clamp(6px,2cqh,16px);display:flex}.menu-fan .card{--w:clamp(40px, 10cqh, 80px);margin-left:calc(var(--w) * -.45);transform-origin:50% 120%}.menu-fan .card:first-child{margin-left:0}@media (prefers-reduced-motion:reduce){.dealt,.slot .card,.bubble,.modal{animation-duration:1ms!important}}.deck-pass{z-index:25;pointer-events:none;width:0;height:0;position:absolute}.deck-inner{width:calc(var(--cw) * .55);aspect-ratio:5/7;margin:calc(var(--ch) * -.275) 0 0 calc(var(--cw) * -.275);animation:deckMove calc(1s * var(--spd,1)) ease-in-out calc(.45s * var(--spd,1)) both;position:absolute}@keyframes deckMove{0%{transform:translate(0)rotate(0)}50%{transform:translate(calc(var(--tx) * .5), calc(var(--ty) * .5)) rotate(8deg) scale(1.15)}to{transform:translate(var(--tx), var(--ty)) rotate(0deg)}}.stage-root{--sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);position:fixed;inset:0;overflow:hidden;container-type:size}.stage{position:absolute;inset:0;overflow:hidden;container-type:size}@media (orientation:portrait) and (pointer:coarse) and (max-width:820px){.stage-root{--sat:env(safe-area-inset-right,0px);--sar:env(safe-area-inset-bottom,0px);--sab:env(safe-area-inset-left,0px);--sal:max(env(safe-area-inset-top,0px), 100px)}.stage{transform-origin:0 0;width:100cqh;height:100cqw;inset:0 auto auto 100%;transform:rotate(90deg)}}@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}
