/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@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;--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:ui-sans-serif, system-ui, 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,ui-sans-serif, system-ui, 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{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{.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,)}.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,)}}:root{color:#f8f6ef;font-synthesis:none;text-rendering:optimizelegibility;--bg:#090c0b;--surface:#181d1bf0;--surface-strong:#1c2320;--surface-soft:#f8f3e711;--line:#f8f3e729;--line-strong:#76dbb261;--text:#f8f3e7;--muted:#bac5c0;--mint:#76dbb2;--green:#39ad83;--coral:#ff786c;--gold:#e7bd6b;--freeze:#8bd5ff;--shadow:0 24px 70px #00000057;background:#07110e;font-family:Inter,Aptos,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow-x:hidden}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #82e2bfb3}button:disabled{cursor:not-allowed}::selection{color:#07110e;background:var(--mint)}.app-page{background:radial-gradient(circle at 8% 12%,#39ad831c,#0000 30rem),radial-gradient(circle at 92% 88%,#ff786c14,#0000 28rem),linear-gradient(145deg,#090c0b 0%,#111513 56%,#080a09 100%);min-height:100vh;position:relative;overflow:hidden}.app-page:before{pointer-events:none;content:"";opacity:.18;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:44px 44px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 80%);mask-image:linear-gradient(#000,#0000 80%)}.eyebrow{color:var(--mint);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.brand-lockup{align-items:center;gap:.75rem;display:inline-flex}.brand-mark{width:2.45rem;height:2.45rem;color:var(--mint);background:linear-gradient(145deg,#82e2bf2b,#2ca77d0f);border:1px solid #82e2bf4d;border-radius:.8rem;place-items:center;display:grid;position:relative;box-shadow:inset 0 1px #ffffff1c}.brand-wordmark{letter-spacing:.04em;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:600}.brand-wordmark span{color:var(--mint)}.glass-panel{border:1px solid var(--line);box-shadow:var(--shadow), inset 0 1px #ffffff0e;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#122821e0,#091813d1)}.primary-button,.secondary-button,.quiet-button,.danger-button,.action-button{border-radius:.85rem;justify-content:center;align-items:center;gap:.65rem;min-height:2.85rem;padding:.72rem 1.05rem;font-size:.88rem;font-weight:800;line-height:1;transition:transform .16s,border-color .16s,background .16s,opacity .16s;display:inline-flex}.primary-button{color:#07110e;background:linear-gradient(135deg,#9bedcf,#55c89f);border:1px solid #74d8b5;box-shadow:0 12px 30px #2ca77d33,inset 0 1px #ffffffa6}.secondary-button,.quiet-button,.action-button{border:1px solid var(--line);background:#ffffff0f}.danger-button{color:#ffd6d0;background:#ef6b5d1f;border:1px solid #ef6b5d61}.quiet-button{min-height:2.4rem;color:var(--muted);background:0 0;padding:.55rem .8rem}.primary-button:not(:disabled):hover,.secondary-button:not(:disabled):hover,.danger-button:not(:disabled):hover,.action-button:not(:disabled):hover{transform:translateY(-2px)}.secondary-button:not(:disabled):hover,.action-button:not(:disabled):hover{border-color:var(--line-strong);background:#82e2bf17}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled,.action-button:disabled{opacity:.36;filter:saturate(.5)}.auth-page{place-items:center;min-height:100vh;padding:clamp(1.1rem,3vw,3rem);display:grid}.auth-shell{z-index:1;border-radius:1.75rem;grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);width:min(100%,68rem);min-height:40rem;display:grid;position:relative;overflow:hidden}.auth-story{background:radial-gradient(circle at 72% 18%,#82e2bf26,#0000 18rem),linear-gradient(155deg,#13483873,#07110e40);flex-direction:column;justify-content:space-between;padding:clamp(2rem,5vw,4.5rem);display:flex;position:relative;overflow:hidden}.auth-story h1{letter-spacing:-.055em;max-width:10ch;margin:2.6rem 0 1.2rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.2rem,6vw,5.7rem);font-weight:500;line-height:.93}.auth-story h1 em{color:var(--mint);font-weight:inherit}.auth-story-copy{color:#bdd0c8;max-width:33rem;margin:0;font-size:1.03rem;line-height:1.65}.auth-feature-row{flex-wrap:wrap;gap:.7rem;margin-top:2.5rem;display:flex}.auth-feature{border:1px solid var(--line);color:#c6d8d1;background:#07110e59;border-radius:999px;align-items:center;gap:.45rem;padding:.5rem .75rem;font-size:.78rem;font-weight:700;display:inline-flex}.card-constellation{pointer-events:none;opacity:.52;width:24rem;height:22rem;position:absolute;bottom:-4rem;right:-3rem}.ghost-card{background:linear-gradient(145deg,#82e2bf1f,#ffffff05);border:1px solid #82e2bf3d;border-radius:1rem;width:8.5rem;height:12rem;position:absolute;box-shadow:0 22px 40px #0000004d}.ghost-card:after{content:"";border:1px solid #82e2bf2e;border-radius:.6rem;position:absolute;inset:.8rem}.ghost-card:first-child{top:5rem;left:2rem;transform:rotate(-18deg)}.ghost-card:nth-child(2){top:2rem;left:8rem;transform:rotate(1deg)}.ghost-card:nth-child(3){top:5rem;left:14rem;transform:rotate(19deg)}.auth-form-panel{background:#07110ead;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,4rem);display:flex}.auth-form-panel h2{letter-spacing:-.035em;margin:.55rem 0 .65rem;font-family:Georgia,Times New Roman,serif;font-size:2.2rem;font-weight:500}.auth-form-panel>p{color:var(--muted);margin:0 0 2rem;line-height:1.55}.auth-form{gap:1rem;display:grid}.field-label{color:#cbd9d4;letter-spacing:.04em;gap:.5rem;font-size:.78rem;font-weight:800;display:grid}.field-input{border:1px solid var(--line);width:100%;min-height:3.15rem;color:var(--text);background:#ffffff0d;border-radius:.85rem;padding:.8rem .95rem;transition:border-color .16s,background .16s}.field-input::placeholder{color:#6f817a}.field-input:focus{background:#82e2bf11;border-color:#82e2bf80}.auth-message{color:#bff3df;background:#2ca77d17;border:1px solid #82e2bf3d;border-radius:.75rem;padding:.75rem .85rem;font-size:.8rem;line-height:1.4}.auth-message.is-error{color:#ffd0ca;background:#ef6b5d1a;border-color:#ef6b5d4d}.auth-switch{color:var(--muted);background:0 0;border:0;align-self:center;margin-top:1.35rem;font-size:.82rem;font-weight:700}.auth-switch:hover{color:var(--mint)}.auth-links{flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin-top:1.2rem;display:flex}.auth-links a{color:var(--muted);font-size:.78rem;text-decoration:none}.auth-links a:hover{color:var(--mint)}.field-optional{color:var(--muted);font-size:.7rem;font-weight:500}.lobby-shell{z-index:1;width:min(100% - 2rem,76rem);margin:0 auto;padding:1.5rem 0 3rem;position:relative}.topbar{justify-content:space-between;align-items:center;padding:.65rem 0;display:flex}.topbar-actions{align-items:center;gap:.55rem;display:flex}.lobby-nav{gap:.8rem;display:flex}.lobby-nav a,.account-footer a,.account-footer button{color:var(--muted);background:0 0;border:0;font-size:.76rem;font-weight:750;text-decoration:none}.lobby-nav a:hover,.account-footer a:hover,.account-footer button:hover{color:var(--mint)}.profile-chip{border:1px solid var(--line);background:#ffffff0b;border-radius:999px;align-items:center;gap:.7rem;padding:.4rem .8rem .4rem .45rem;display:flex}.avatar{color:#07110e;background:linear-gradient(145deg,#9bedcf,#4fbc95);border:1px solid #82e2bf59;border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;font-size:.75rem;font-weight:900;display:grid}.profile-chip strong{font-size:.82rem}.lobby-hero{grid-template-columns:minmax(0,1.12fr) minmax(19rem,.88fr);gap:1rem;margin-top:2rem;display:grid}.welcome-card,.stats-card,.mode-card,.active-card{border:1px solid var(--line);background:linear-gradient(145deg,#11251fd4,#091813b8);border-radius:1.35rem;box-shadow:inset 0 1px #ffffff0b}.welcome-card{background:radial-gradient(circle at 92% 5%,#82e2bf21,#0000 16rem),linear-gradient(145deg,#123329eb,#091813cc);min-height:18rem;padding:clamp(1.7rem,4vw,3.3rem)}.welcome-card h1{letter-spacing:-.05em;max-width:12ch;margin:.8rem 0 1rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.6rem,5vw,4.6rem);font-weight:500;line-height:.98}.welcome-card h1 span{color:var(--mint)}.welcome-card>p{max-width:36rem;color:var(--muted);margin:0;line-height:1.6}.lobby-modes{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:2rem;display:grid}.lobby-modes .primary-button,.lobby-modes .secondary-button{justify-content:space-between;padding-inline:1rem}.format-picker{border:1px solid var(--line);background:#0003;border-radius:999px;gap:.35rem;margin-top:1.35rem;padding:.28rem;display:inline-flex}.format-picker button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:.55rem .8rem;font-size:.72rem;font-weight:850}.format-picker button.is-selected{color:#07110e;background:var(--mint)}.private-controls{align-items:center;gap:.65rem;margin-top:.75rem;display:flex}.preference-controls{flex-wrap:wrap;gap:.45rem;margin-top:.7rem;display:flex}.preference-controls button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;padding:.4rem .65rem;font-size:.65rem;font-weight:800}.preference-controls button.is-selected{color:var(--mint);background:#82e2bf14;border-color:#82e2bf59}.join-code{border:1px solid var(--line);background:#ffffff0a;border-radius:.8rem;flex:1;min-width:0;display:flex;overflow:hidden}.join-code input{min-width:0;color:var(--text);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;flex:1;padding:.7rem .8rem;font-weight:800}.join-code button{border:0;border-left:1px solid var(--line);color:var(--mint);background:#82e2bf14;padding:.65rem .8rem;font-weight:850}.private-table-card{border:1px solid var(--line);background:linear-gradient(145deg,#123329eb,#091813cc);border-radius:1.35rem;margin-top:2rem;padding:clamp(1.4rem,4vw,2.7rem)}.private-table-card h1{margin:.6rem 0;font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.7rem);font-weight:500}.private-table-card>p{color:var(--muted)}.code-copy{color:var(--mint);font:inherit;letter-spacing:.08em;background:#82e2bf14;border:1px solid #82e2bf47;border-radius:.7rem;padding:.3rem .55rem}.seat-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.7rem;margin-top:1.5rem;display:grid}.seat-card{background:#00000024;border:1px dashed #ffffff29;border-radius:1rem;gap:.35rem;padding:1rem;display:grid}.seat-card.is-occupied{border-style:solid}.seat-card.is-mine{background:#2ca77d1a;border-color:#82e2bf80}.seat-card span,.seat-card small{color:var(--muted);font-size:.7rem}.table-actions{justify-content:flex-end;gap:.65rem;margin-top:1.3rem;display:flex}.stats-card{grid-template-rows:auto repeat(3,1fr);padding:1.3rem;display:grid;overflow:hidden}.stats-heading{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.stats-heading h2,.section-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:500}.stat-row{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;font-size:.87rem;display:flex}.stat-row strong{color:var(--text);font-size:1.45rem;font-weight:650}.active-section{margin-top:2.4rem}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.section-heading p{color:var(--muted);margin:0;font-size:.82rem}.active-list{gap:.7rem;display:grid}.active-card{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.active-card-copy{min-width:0}.active-card-copy strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.active-card-copy span{color:var(--muted);font-size:.76rem}.empty-state{color:var(--muted);text-align:center;border:1px dashed #ffffff24;border-radius:1rem;padding:2.5rem}.account-footer{justify-content:center;gap:1rem;margin-top:2rem;display:flex}.account-footer button{color:#dba39b}.history-card,.admin-card,.legal-card{border:1px solid var(--line);background:linear-gradient(145deg,#11251fe6,#091813cc);border-radius:1.35rem;padding:clamp(1.5rem,4vw,3rem)}.history-card{margin-top:2rem}.history-card h1,.admin-card h1,.legal-card h1{margin:.6rem 0 1.4rem;font-family:Georgia,serif;font-size:clamp(2.3rem,5vw,4rem);font-weight:500}.match-id{color:var(--muted);font-family:monospace}.segment-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.7rem;display:grid}.segment-grid article{border:1px solid var(--line);background:#00000024;border-radius:.9rem;padding:1rem}.segment-grid span,.segment-grid small{color:var(--muted);text-transform:capitalize;font-size:.7rem;display:block}.segment-grid strong{margin:.4rem 0;font-family:Georgia,serif;font-size:1.8rem;display:block}.legal-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.legal-card{width:min(100%,48rem)}.legal-card .eyebrow{margin-top:2rem}.legal-card p:not(.eyebrow){color:var(--muted);line-height:1.7}.legal-card .primary-button{margin-top:1rem;text-decoration:none;display:inline-flex}.admin-card{margin-top:2rem}.admin-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.admin-heading .field-label{width:12rem}.admin-stats{grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1.2rem 0;display:grid}.admin-stats>div,.admin-queues>div{border:1px solid var(--line);background:#00000024;border-radius:.9rem;padding:1rem}.admin-stats span,.admin-queues span,.admin-matches span,.admin-matches small{color:var(--muted);font-size:.72rem;display:block}.admin-stats strong{margin-top:.3rem;font-family:Georgia,serif;font-size:2rem;display:block}.admin-queues{grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:1rem;display:grid}.admin-matches,.admin-users{gap:.55rem;margin-top:1rem;display:grid}.admin-matches article,.admin-users article{border:1px solid var(--line);border-radius:.9rem;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.admin-matches small{margin-top:.3rem}.admin-users span{color:var(--muted);font-size:.72rem;display:block}.admin-subheading{margin:2rem 0 .5rem;font-family:Georgia,serif;font-weight:500}.center-state{z-index:1;place-items:center;min-height:100vh;padding:1.25rem;display:grid;position:relative}.state-card{text-align:center;border-radius:1.5rem;width:min(100%,35rem);padding:clamp(2rem,5vw,3.5rem)}.state-card h1{margin:.7rem 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:500}.state-card>p{color:var(--muted);margin:0 auto 1.5rem;line-height:1.6}.loading-orbit{border:1px solid #82e2bf38;border-radius:50%;width:4rem;height:4rem;margin:0 auto 1.4rem;position:relative}.loading-orbit:after{background:var(--mint);width:.65rem;height:.65rem;box-shadow:0 0 24px var(--mint);content:"";transform-origin:0 2.2rem;border-radius:50%;animation:1.4s linear infinite orbit;position:absolute;top:-.2rem;left:50%}@keyframes orbit{to{transform:rotate(360deg)}}.score-grid{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.75rem;margin:1.5rem 0;display:grid}.score-tile{border:1px solid var(--line);background:var(--surface-soft);border-radius:1rem;padding:1rem}.score-tile span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.score-tile strong{margin-top:.35rem;font-family:Georgia,serif;font-size:2.3rem;font-weight:500;display:block}.score-tile small{color:var(--mint)}.game-shell{z-index:1;grid-template-rows:3.2rem minmax(0,1fr) clamp(10.75rem,20vh,12.5rem);gap:.75rem;width:100%;height:100dvh;min-height:0;padding:.75rem;display:grid;position:relative;overflow:hidden}.phone-table-blocker{display:none}.game-header{grid-template-columns:1fr auto 1fr;align-items:center;min-height:3.2rem;padding:0 .4rem;display:grid}.game-header .brand-lockup{justify-self:start}.turn-pill{border:1px solid var(--line);color:var(--muted);background:#ffffff0a;border-radius:999px;justify-self:center;align-items:center;gap:.5rem;padding:.55rem .9rem;font-size:.77rem;font-weight:800;display:inline-flex}.turn-pill.is-active{color:var(--mint);background:#2ca77d1a;border-color:#82e2bf59;box-shadow:0 0 28px #2ca77d1f}.game-header-actions{justify-self:end;gap:.45rem;display:flex}.game-board{grid-template-columns:9rem minmax(0,1fr) 12rem;gap:.75rem;min-height:0;display:grid}.pile-rail,.score-rail{border:1px solid var(--line);background:linear-gradient(155deg,#1e2421f5,#101412fa);border-radius:1.1rem;box-shadow:inset 0 1px #ffffff0b}.team-board{background:linear-gradient(155deg,#0f392ed1,#091d18eb);border:1px solid #76dbb236;border-radius:1.1rem;box-shadow:inset 0 1px #ffffff0e,0 12px 35px #0000001f}.pile-rail{flex-direction:column;justify-content:center;align-items:center;gap:1.15rem;min-height:0;padding:.85rem .55rem;display:flex;overflow-y:auto}.pile-group{justify-items:center;gap:.55rem;display:grid}.pile-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:800}.pile-count{color:var(--text)}.card-well{border:1px solid var(--line);isolation:isolate;background:#04070680;border-radius:.85rem;place-items:center;width:6.5rem;height:9.3rem;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;position:relative}.card-well.is-actionable{cursor:pointer;border-color:#82e2bf73;box-shadow:0 0 30px #2ca77d1f}.card-well.is-actionable:hover{transform:translateY(-3px)}.card-well.is-frozen{background:#2d779d21;border-color:#8bd5ffb8;box-shadow:inset 0 0 28px #4ca6d214,0 0 24px #4ca6d21a}.card-well.is-restricted{background:#704e191f;border-color:#e7bd6b9e;box-shadow:inset 0 0 28px #b3802e0f,0 0 20px #b3802e14}.card-well>.playing-card{z-index:2}.freeze-underlay{z-index:1;aspect-ratio:2/2.85;background:repeating-linear-gradient(135deg,#8bd5ff3d 0 7px,#1e4c6357 7px 14px);border:2px solid #8bd5ffa8;border-radius:.55rem;width:5.2rem;position:absolute;transform:rotate(88deg)scale(.92);box-shadow:0 0 20px #8bd5ff2e}.freeze-underlay.is-restricted{background:repeating-linear-gradient(135deg,#e7bd6b30 0 7px,#6548194d 7px 14px);border-color:#e7bd6b94;box-shadow:0 0 18px #e7bd6b1f}.pile-badge{z-index:3;border:1px solid var(--line);color:#e2ebe6;background:#1b211f;border-radius:999px;padding:.32rem .48rem;font-size:.62rem;font-weight:900;position:absolute;bottom:-.45rem;right:-.45rem}.pack-status{color:#f5dca7;background:#58411b47;border:1px solid #e7bd6b52;border-radius:.7rem;align-items:flex-start;gap:.42rem;width:7.35rem;padding:.48rem .5rem;display:flex}.pack-status.is-hard-frozen{color:#c9edff;background:#2566873d;border-color:#8bd5ff85}.pack-status svg{flex:none;margin-top:.08rem}.pack-status strong{letter-spacing:.06em;text-transform:uppercase;font-size:.64rem;line-height:1.2;display:block}.pack-status small{color:currentColor;opacity:.84;margin-top:.2rem;font-size:.57rem;line-height:1.3;display:block}.team-stage-wrap{grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;display:grid}.teams-stage{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;min-width:0;min-height:0;display:grid}.teams-stage:has(>:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.opponent-tabs{display:none}.team-board{grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.team-board.is-mine{background:linear-gradient(155deg,#114235db,#091f19ed);border-color:#76dbb26e}.team-board-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.7rem;padding:.8rem 1rem;display:flex}.team-name{align-items:center;gap:.55rem;font-size:.8rem;font-weight:850;display:flex}.team-dot{background:var(--coral);border-radius:50%;width:.55rem;height:.55rem;box-shadow:0 0 12px #ef6b5d8c}.is-mine .team-dot{background:var(--mint);box-shadow:0 0 12px #82e2bf8c}.open-status{border:1px solid var(--line);color:var(--muted);letter-spacing:.07em;text-transform:uppercase;border-radius:999px;padding:.28rem .5rem;font-size:.61rem;font-weight:850}.open-status.is-open{color:var(--mint)}.meld-surface{overscroll-behavior:contain;scrollbar-color:#76dbb257 transparent;grid-template-columns:5.7rem 1fr;min-height:0;display:grid;overflow:auto}.canasta-column{border-right:1px solid var(--line);scrollbar-width:thin;flex-direction:column;align-items:center;gap:.38rem;min-height:0;padding:.8rem .35rem 1rem;display:flex;overflow-y:auto}.canasta-column-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.59rem;font-weight:900}.canasta-card{cursor:context-menu;flex:none;width:4.9rem;height:3.85rem;position:relative}.canasta-card+.canasta-card{margin-top:-.35rem}.canasta-card>.playing-card{width:5.25rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(90deg)scale(.7)}.red-three-stack{flex-direction:column;margin:.2rem 0 .45rem;display:flex}.red-three-card{width:4.55rem}.red-three-stack>*+*{margin-top:-5.35rem}.meld-grid{flex-wrap:wrap;align-content:flex-start;gap:.8rem .68rem;min-width:0;padding:.85rem;display:flex}.meld-empty{color:#91a39c;text-align:center;place-items:center;width:100%;min-height:10rem;font-size:.75rem;display:grid}.meld-stack{cursor:pointer;width:5.1rem;transition:transform .16s;position:relative}.meld-stack:hover{transform:translateY(-3px)}.meld-stack.is-selected{filter:drop-shadow(0 0 10px #82e2bf75);transform:translateY(-5px)}.meld-stack.is-selected:after{border:2px solid var(--mint);content:"";border-radius:.75rem;position:absolute;inset:-.35rem}.meld-count{color:#07110e;background:var(--mint);border:2px solid #10251f;border-radius:50%;place-items:center;width:1.7rem;height:1.7rem;font-size:.7rem;font-weight:950;display:grid;position:absolute;bottom:-.4rem;right:-.35rem}.score-rail{flex-direction:column;gap:1rem;min-height:0;padding:.9rem;display:flex}.score-panel{gap:.55rem;display:grid}.score-panel-title{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:900}.team-score-line{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:baseline;padding-top:.5rem;font-size:.7rem;display:flex}.team-score-line strong{color:var(--text);font-family:Georgia,serif;font-size:1.35rem;font-weight:500}.player-list{flex-direction:column;flex:1;gap:.65rem;min-height:0;display:flex;overflow-y:auto}.player-seat{color:var(--muted);background:#ffffff06;border:1px solid #0000;border-radius:.8rem;align-items:center;gap:.55rem;padding:.48rem;display:flex}.player-seat.is-turn{color:var(--text);background:#ef6b5d14;border-color:#ef6b5d59}.player-seat.is-offline{opacity:.62}.player-seat.is-connected .avatar{box-shadow:0 0 0 2px #82e2bf33}.player-seat-copy{min-width:0}.mute-button{color:var(--muted);background:0 0;border:0;margin-left:auto;font-size:.55rem}.mute-button:hover{color:var(--text)}.player-seat-copy strong{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;display:block;overflow:hidden}.player-seat-copy span{font-size:.62rem}.social-panel{border-top:1px solid var(--line);gap:.45rem;min-height:0;padding-top:.7rem;display:grid}.event-feed{min-height:0;color:var(--muted);flex-direction:column;gap:.18rem;font-size:.61rem;display:flex;overflow:hidden}.event-feed span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.social-actions{grid-template-columns:repeat(4,1fr);gap:.25rem;display:grid}.social-actions button{border:1px solid var(--line);min-width:0;color:var(--text);background:#ffffff0a;border-radius:.45rem;padding:.3rem .15rem;font-size:.62rem}.timer-warning{color:#ffd08a}.leave-button{color:#ffc2b9}.reclaim-button{color:var(--mint)}.game-footer{border:1px solid var(--line);background:linear-gradient(#1d2320f7,#0d110ffc);border-radius:1.15rem;grid-template-columns:9.5rem minmax(0,1fr) auto;align-items:end;gap:.75rem;height:100%;min-height:0;padding:.85rem;display:grid;position:relative;box-shadow:0 -18px 40px #00000029,inset 0 1px #ffffff0b}.self-seat{align-self:center;align-items:center;gap:.65rem;display:flex}.self-seat .avatar{width:2.6rem;height:2.6rem}.self-seat strong{font-size:.76rem;display:block}.self-seat span{color:var(--muted);font-size:.65rem}.hand-wrap{min-width:0;max-height:100%;padding:2.6rem .6rem .5rem;overflow:auto visible}.hand{justify-content:center;width:max-content;min-width:100%;padding-left:2.8rem;display:flex}.hand-card{margin-left:-2.8rem;transition:transform .16s,filter .16s;position:relative}.hand-card:hover{z-index:20;transform:translateY(-1rem)}.hand-card.is-selected{z-index:30;filter:drop-shadow(0 0 10px #82e2bf8c);transform:translateY(-2.2rem)}.hand-card.is-selected:after{border:3px solid var(--mint);content:"";pointer-events:none;border-radius:.72rem;position:absolute;inset:-.22rem}.action-dock{grid-template-columns:repeat(2,minmax(0,1fr));align-self:center;gap:.5rem;width:20rem;display:grid}.action-button{min-height:2.55rem;padding:.6rem .7rem;font-size:.73rem}.action-button.is-primary{color:#c9f7e5;background:#2ca77d1f;border-color:#82e2bf57}.action-button.is-danger{color:#ffd1ca;background:#ef6b5d1a;border-color:#ef6b5d4d}.action-button[aria-disabled=true]{cursor:help;opacity:.46;filter:saturate(.45)}.action-button[aria-disabled=true]:hover{color:#f4d9a3;opacity:.78;background:#6a4e2024;border-color:#e7bd6b70}.action-guidance{min-height:2rem;color:var(--muted);text-align:right;grid-column:1/-1;justify-content:flex-end;align-items:flex-start;gap:.42rem;margin-top:.05rem;font-size:.63rem;line-height:1.35;display:flex}.action-guidance svg{color:var(--mint);flex:none;margin-top:.08rem}.action-guidance.is-warning{color:#f3d39a}.action-guidance.is-warning svg{color:var(--gold)}.playing-card{aspect-ratio:2/2.85;cursor:pointer;background:#f8f6ef;border:1px solid #07110e80;border-radius:.58rem;width:5.25rem;position:relative;overflow:hidden;box-shadow:0 10px 22px #0000005c}.playing-card img{object-fit:cover;width:100%;height:100%;display:block}.expanded-overlay{z-index:80;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#030a08d4;place-items:center;padding:2rem;display:grid;position:fixed;inset:0}.expanded-stack{max-width:100%;padding:3rem;display:flex;overflow-x:auto}.expanded-stack>*+*{margin-left:-2.3rem}.expanded-stack .playing-card{width:8rem}.toast{z-index:100;color:#ffd6d0;width:min(100% - 2rem,34rem);box-shadow:var(--shadow);background:#521814f0;border:1px solid #ef6b5d59;border-radius:.9rem;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex;position:fixed;top:1rem;left:50%;transform:translate(-50%)}.toast button{background:#ffffff1a;border:0;border-radius:50%;flex:none;place-items:center;width:1.7rem;height:1.7rem;display:grid}@media (width<=1000px){.game-shell{min-width:58rem;overflow:auto}.game-board{grid-template-columns:8rem minmax(38rem,1fr) 10rem}.game-footer{grid-template-columns:8rem minmax(28rem,1fr) 18rem}.teams-stage:has(>:nth-child(3)){grid-template-columns:repeat(3,minmax(22rem,1fr));overflow-x:auto}}@media (width<=1250px) and (width>=761px){.team-stage-wrap{grid-template-rows:auto minmax(0,1fr);gap:.4rem}.opponent-tabs{justify-content:flex-end;gap:.3rem;display:flex}.opponent-tabs button{border:1px solid var(--line);color:var(--muted);background:#ffffff08;border-radius:999px;padding:.32rem .55rem;font-size:.62rem;font-weight:800}.opponent-tabs button[aria-selected=true]{color:var(--mint);border-color:#82e2bf66}.teams-stage:has(>:nth-child(3)){grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.team-board.is-tablet-hidden{display:none}}@media (height<=800px) and (width>=1001px){.game-shell{grid-template-rows:2.75rem minmax(0,1fr) 10.5rem;gap:.55rem;padding:.55rem}.game-header{min-height:2.75rem}.pile-rail{gap:.7rem}.card-well{width:5.5rem;height:7.85rem}.card-well .playing-card{width:4.45rem}.pack-status{width:6.5rem}.pack-status small{display:none}.game-footer{padding:.65rem}.hand-wrap{padding-top:2rem}.action-button{min-height:2.25rem;padding:.45rem .6rem}}@media (width<=760px){.auth-shell{grid-template-columns:1fr;min-height:auto}.auth-story{min-height:19rem;padding:2rem}.auth-story h1{margin:1.8rem 0 .8rem;font-size:3.4rem}.auth-story-copy{font-size:.9rem}.auth-feature-row{display:none}.card-constellation{bottom:-9rem;right:-9rem}.auth-form-panel{padding:2rem}.lobby-hero{grid-template-columns:1fr}.welcome-card{min-height:auto}.stats-card{min-height:17rem}.lobby-modes{grid-template-columns:1fr}.profile-chip strong,.lobby-nav,.topbar .quiet-button span{display:none}.active-card{flex-direction:column;align-items:flex-start}.active-card .secondary-button{width:100%}.private-controls,.table-actions{flex-direction:column;align-items:stretch}.format-picker{border-radius:.8rem;display:grid}.admin-heading{flex-direction:column;align-items:stretch}.admin-heading .field-label{width:100%}.admin-stats,.admin-queues{grid-template-columns:1fr}.admin-matches article{flex-direction:column;align-items:stretch}.game-shell{min-width:0;overflow:hidden}.phone-table-blocker{z-index:200;color:var(--text);text-align:center;background:#07110e;place-items:center;padding:2rem;font-family:Georgia,serif;font-size:1.6rem;line-height:1.35;display:grid;position:fixed;inset:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!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-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}
