:root{--c-white: #ffffff;--c-gray-50: #f6f7f8;--c-gray-100: #e9ecef;--c-gray-200: #dce1e6;--c-gray-300: #c3c9d0;--c-gray-500: #6b7580;--c-gray-600: #545d68;--c-gray-700: #3d4652;--c-gray-750: #2b323b;--c-gray-800: #2a323c;--c-gray-850: #232a33;--c-gray-900: #1b2027;--c-gray-950: #12161b;--c-paper: #f7f4ed;--c-felt-850: #1b2321;--c-felt-900: #151b19;--c-felt-950: #0b100e;--c-green-400: #4fc08a;--c-green-600: #1f7a4d;--c-green-700: #17603c;--c-green-800: #145134;--c-green-900: #0d3522;--c-green-950: #071f14;--c-amber-100: #fdf0d2;--c-amber-200: #f8cd6a;--c-amber-500: #8a5800;--c-amber-300: #f0b429;--c-amber-900: #4a3712;--c-red-100: #fadedb;--c-red-600: #b02d20;--c-red-400: #f08a7c;--c-red-900: #47201c;--c-blue-100: #dbe7fa;--c-blue-500: #2860b4;--c-blue-400: #6ea3ea;--c-blue-900: #21344f;--c-violet-100: #ece6fa;--c-violet-300: #a48fe0;--c-violet-500: #6b4fbb;--c-violet-700: #513494;--c-violet-900: #2d2350;--c-teal-100: #d6f2f2;--c-teal-300: #7fd4d8;--c-teal-600: #0f7d86;--c-teal-700: #0b6a72;--c-teal-900: #0b3a3e;--c-value-0: #00722e;--c-value-1: #2a6f15;--c-value-2: #436c00;--c-value-3: #556700;--c-value-4: #656200;--c-value-5: #725c00;--c-value-6: #7d5600;--c-value-7: #875000;--c-value-8: #8e4a00;--c-value-9: #954300;--c-value-10: #993e00;--c-value-11: #9c3916;--c-value-12: #9d352d;--c-value-0-dark: #83d494;--c-value-1-dark: #94d186;--c-value-2-dark: #a5cd79;--c-value-3-dark: #b4c96d;--c-value-4-dark: #c3c464;--c-value-5-dark: #d1bf5e;--c-value-6-dark: #ddba5c;--c-value-7-dark: #e7b45e;--c-value-8-dark: #f0af63;--c-value-9-dark: #f7aa6c;--c-value-10-dark: #fda677;--c-value-11-dark: #ffa284;--c-value-12-dark: #ff9f92;--c-magenta-500: #a8267a;--c-magenta-300: #ee9ac9;--color-bg: var(--c-paper);--color-surface: var(--c-white);--color-surface-raised: var(--c-white);--color-border: var(--c-gray-300);--color-border-strong: var(--c-gray-500);--color-text: var(--c-gray-900);--color-text-muted: var(--c-gray-600);--color-text-inverted: var(--c-white);--color-accent: var(--c-amber-500);--color-accent-text: var(--c-white);--color-accent-soft: var(--c-amber-100);--color-accent-solid: var(--c-amber-300);--color-accent-solid-text: var(--c-gray-950);--color-accent-glow: rgba(240, 180, 41, .45);--color-page-glow-warm: rgba(240, 180, 41, .3);--color-page-glow-cool: rgba(127, 212, 216, .34);--color-page-glow-felt: rgba(79, 192, 138, .26);--color-weave-hi: rgba(255, 255, 255, .55);--color-weave-lo: rgba(23, 32, 28, .035);--color-header-bg: rgba(255, 255, 255, .78);--color-header-border: rgba(23, 32, 28, .1);--color-surface-glint: rgba(255, 255, 255, .75);--color-nav-hover-bg: rgba(23, 32, 28, .06);--color-danger: var(--c-red-600);--color-danger-soft: var(--c-red-100);--color-table-felt: var(--c-green-700);--color-table-felt-edge: var(--c-green-900);--color-table-felt-shadow: rgba(13, 53, 34, .55);--color-table-felt-text: var(--c-gray-50);--color-table-felt-label: var(--c-amber-200);--color-seat-bg: var(--c-white);--color-seat-border: var(--c-gray-300);--color-seat-active-ring: var(--c-amber-500);--color-seat-active-glow: rgba(240, 180, 41, .45);--color-status-bust: var(--c-red-600);--color-status-bust-soft: var(--c-red-100);--color-status-stayed: var(--c-gray-600);--color-status-stayed-soft: var(--c-gray-100);--color-status-frozen: var(--c-blue-500);--color-status-frozen-soft: var(--c-blue-100);--color-status-flip7: var(--c-amber-500);--color-status-flip7-soft: var(--c-amber-100);--color-status-online: var(--c-green-600);--color-status-offline: var(--c-gray-500);--color-status-auto: var(--c-magenta-500);--color-card-number-bg: var(--c-white);--color-card-number-text: var(--c-gray-900);--color-card-number-border: var(--c-gray-500);--color-card-action-bg: var(--c-teal-100);--color-card-action-text: var(--c-teal-700);--color-card-action-border: var(--c-teal-600);--color-card-modifier-bg: var(--c-violet-100);--color-card-modifier-text: var(--c-violet-700);--color-card-modifier-border: var(--c-violet-500);--color-card-back-bg: var(--c-green-800);--color-card-back-frame: var(--c-amber-300);--color-card-sheen: rgba(255, 255, 255, .72);--color-card-unknown-bg: var(--c-gray-100);--color-card-value-0: var(--c-value-0);--color-card-value-1: var(--c-value-1);--color-card-value-2: var(--c-value-2);--color-card-value-3: var(--c-value-3);--color-card-value-4: var(--c-value-4);--color-card-value-5: var(--c-value-5);--color-card-value-6: var(--c-value-6);--color-card-value-7: var(--c-value-7);--color-card-value-8: var(--c-value-8);--color-card-value-9: var(--c-value-9);--color-card-value-10: var(--c-value-10);--color-card-value-11: var(--c-value-11);--color-card-value-12: var(--c-value-12);--color-timer-track: var(--c-gray-200);--color-timer-fill: var(--c-amber-500);--color-timer-fill-low: var(--c-red-600);--avatar-saturation: 45%;--avatar-lightness: 34%;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .875rem;--shadow-sm: 0 1px 2px rgba(18, 22, 27, .12);--shadow-md: 0 4px 14px rgba(18, 22, 27, .16);--color-scrim: rgba(18, 22, 27, .38);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;color-scheme:light}:root[data-theme=dark]{--color-bg: var(--c-felt-950);--color-surface: var(--c-felt-900);--color-surface-raised: var(--c-felt-850);--color-border: var(--c-gray-700);--color-border-strong: var(--c-gray-500);--color-text: var(--c-gray-50);--color-text-muted: var(--c-gray-300);--color-text-inverted: var(--c-gray-950);--color-accent: var(--c-amber-300);--color-accent-text: var(--c-gray-950);--color-accent-soft: var(--c-amber-900);--color-accent-solid: var(--c-amber-300);--color-accent-solid-text: var(--c-gray-950);--color-accent-glow: rgba(240, 180, 41, .4);--color-page-glow-warm: rgba(240, 180, 41, .17);--color-page-glow-cool: rgba(15, 125, 134, .3);--color-page-glow-felt: rgba(20, 81, 52, .55);--color-weave-hi: rgba(255, 255, 255, .028);--color-weave-lo: rgba(0, 0, 0, .1);--color-header-bg: rgba(11, 16, 14, .72);--color-header-border: rgba(242, 245, 243, .09);--color-surface-glint: rgba(255, 255, 255, .05);--color-nav-hover-bg: rgba(242, 245, 243, .07);--color-danger: var(--c-red-400);--color-danger-soft: var(--c-red-900);--color-table-felt: var(--c-green-800);--color-table-felt-edge: var(--c-green-950);--color-table-felt-shadow: rgba(7, 31, 20, .68);--color-seat-bg: var(--c-gray-900);--color-seat-border: var(--c-gray-700);--color-seat-active-ring: var(--c-amber-300);--color-seat-active-glow: rgba(240, 180, 41, .4);--color-status-bust: var(--c-red-400);--color-status-bust-soft: var(--c-red-900);--color-status-stayed: var(--c-gray-300);--color-status-stayed-soft: var(--c-gray-750);--color-status-frozen: var(--c-blue-400);--color-status-frozen-soft: var(--c-blue-900);--color-status-flip7: var(--c-amber-300);--color-status-flip7-soft: var(--c-amber-900);--color-status-online: var(--c-green-400);--color-status-offline: var(--c-gray-500);--color-status-auto: var(--c-magenta-300);--color-card-number-bg: var(--c-gray-800);--color-card-number-text: var(--c-gray-50);--color-card-number-border: var(--c-gray-300);--color-card-action-bg: var(--c-teal-900);--color-card-action-text: var(--c-gray-50);--color-card-action-border: var(--c-teal-300);--color-card-modifier-bg: var(--c-violet-900);--color-card-modifier-text: var(--c-gray-50);--color-card-modifier-border: var(--c-violet-300);--color-card-value-0: var(--c-value-0-dark);--color-card-value-1: var(--c-value-1-dark);--color-card-value-2: var(--c-value-2-dark);--color-card-value-3: var(--c-value-3-dark);--color-card-value-4: var(--c-value-4-dark);--color-card-value-5: var(--c-value-5-dark);--color-card-value-6: var(--c-value-6-dark);--color-card-value-7: var(--c-value-7-dark);--color-card-value-8: var(--c-value-8-dark);--color-card-value-9: var(--c-value-9-dark);--color-card-value-10: var(--c-value-10-dark);--color-card-value-11: var(--c-value-11-dark);--color-card-value-12: var(--c-value-12-dark);--color-card-back-bg: var(--c-green-900);--color-card-back-frame: var(--c-amber-300);--color-card-sheen: rgba(246, 247, 248, .1);--color-card-unknown-bg: var(--c-gray-750);--color-timer-track: var(--c-gray-700);--color-timer-fill: var(--c-amber-300);--color-timer-fill-low: var(--c-red-400);--avatar-saturation: 42%;--avatar-lightness: 40%;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 14px rgba(0, 0, 0, .55);--color-scrim: rgba(0, 0, 0, .5);color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-bg: var(--c-felt-950);--color-surface: var(--c-felt-900);--color-surface-raised: var(--c-felt-850);--color-border: var(--c-gray-700);--color-border-strong: var(--c-gray-500);--color-text: var(--c-gray-50);--color-text-muted: var(--c-gray-300);--color-text-inverted: var(--c-gray-950);--color-accent: var(--c-amber-300);--color-accent-text: var(--c-gray-950);--color-accent-soft: var(--c-amber-900);--color-accent-solid: var(--c-amber-300);--color-accent-solid-text: var(--c-gray-950);--color-accent-glow: rgba(240, 180, 41, .4);--color-page-glow-warm: rgba(240, 180, 41, .17);--color-page-glow-cool: rgba(15, 125, 134, .3);--color-page-glow-felt: rgba(20, 81, 52, .55);--color-weave-hi: rgba(255, 255, 255, .028);--color-weave-lo: rgba(0, 0, 0, .1);--color-header-bg: rgba(11, 16, 14, .72);--color-header-border: rgba(242, 245, 243, .09);--color-surface-glint: rgba(255, 255, 255, .05);--color-nav-hover-bg: rgba(242, 245, 243, .07);--color-danger: var(--c-red-400);--color-danger-soft: var(--c-red-900);--color-table-felt: var(--c-green-800);--color-table-felt-edge: var(--c-green-950);--color-table-felt-shadow: rgba(7, 31, 20, .68);--color-seat-bg: var(--c-gray-900);--color-seat-border: var(--c-gray-700);--color-seat-active-ring: var(--c-amber-300);--color-seat-active-glow: rgba(240, 180, 41, .4);--color-status-bust: var(--c-red-400);--color-status-bust-soft: var(--c-red-900);--color-status-stayed: var(--c-gray-300);--color-status-stayed-soft: var(--c-gray-750);--color-status-frozen: var(--c-blue-400);--color-status-frozen-soft: var(--c-blue-900);--color-status-flip7: var(--c-amber-300);--color-status-flip7-soft: var(--c-amber-900);--color-status-online: var(--c-green-400);--color-status-offline: var(--c-gray-500);--color-status-auto: var(--c-magenta-300);--color-card-number-bg: var(--c-gray-800);--color-card-number-text: var(--c-gray-50);--color-card-number-border: var(--c-gray-300);--color-card-action-bg: var(--c-teal-900);--color-card-action-text: var(--c-gray-50);--color-card-action-border: var(--c-teal-300);--color-card-modifier-bg: var(--c-violet-900);--color-card-modifier-text: var(--c-gray-50);--color-card-modifier-border: var(--c-violet-300);--color-card-value-0: var(--c-value-0-dark);--color-card-value-1: var(--c-value-1-dark);--color-card-value-2: var(--c-value-2-dark);--color-card-value-3: var(--c-value-3-dark);--color-card-value-4: var(--c-value-4-dark);--color-card-value-5: var(--c-value-5-dark);--color-card-value-6: var(--c-value-6-dark);--color-card-value-7: var(--c-value-7-dark);--color-card-value-8: var(--c-value-8-dark);--color-card-value-9: var(--c-value-9-dark);--color-card-value-10: var(--c-value-10-dark);--color-card-value-11: var(--c-value-11-dark);--color-card-value-12: var(--c-value-12-dark);--color-card-back-bg: var(--c-green-900);--color-card-back-frame: var(--c-amber-300);--color-card-sheen: rgba(246, 247, 248, .1);--color-card-unknown-bg: var(--c-gray-750);--color-timer-track: var(--c-gray-700);--color-timer-fill: var(--c-amber-300);--color-timer-fill-low: var(--c-red-400);--avatar-saturation: 42%;--avatar-lightness: 40%;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 14px rgba(0, 0, 0, .55);--color-scrim: rgba(0, 0, 0, .5);color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}body{margin:0;background-color:var(--color-bg);background-image:radial-gradient(56rem 34rem at 10% -10%,var(--color-page-glow-warm),transparent 62%),radial-gradient(48rem 40rem at 94% 4%,var(--color-page-glow-cool),transparent 64%),radial-gradient(75rem 48rem at 50% 122%,var(--color-page-glow-felt),transparent 66%);background-attachment:fixed;background-repeat:no-repeat;color:var(--color-text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(45deg,var(--color-weave-hi) 0 1px,transparent 1px 7px),repeating-linear-gradient(-45deg,var(--color-weave-lo) 0 1px,transparent 1px 7px)}a{color:var(--color-accent);text-decoration-thickness:2px;text-underline-offset:.25em}a:hover{text-decoration-color:currentColor}h1,h2,h3{line-height:1.25;margin:0 0 var(--space-3)}.shell{min-height:100vh;display:flex;flex-direction:column}.shell__header{position:sticky;top:0;z-index:20;background:var(--color-header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--color-header-border)}.shell__header-inner{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4)}.shell__brand{display:flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:1.25rem;letter-spacing:.14em;text-decoration:none;color:var(--color-text)}.shell__mark{display:block;width:1.65rem;height:1.65rem;color:var(--color-accent)}.shell__seven{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:var(--radius-md);background:var(--color-accent-solid);color:var(--color-accent-solid-text);font-size:1.05rem;letter-spacing:0;transform:rotate(-6deg)}.shell__spacer{flex:1}.shell__menu{position:relative}.shell__menu-panel{position:absolute;top:calc(100% + var(--space-2));left:0;z-index:30;display:flex;flex-direction:column;gap:var(--space-1);min-width:12rem;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.shell__menu-heading{padding:var(--space-1) var(--space-3) 0;color:var(--color-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.shell__nav-item--home{display:flex;align-items:center;gap:var(--space-2)}.shell__nav-item--sub{padding-left:var(--space-6)}.shell__menu-rule{width:100%;margin:var(--space-1) 0;border:none;border-top:1px solid var(--color-border)}.shell__trail{display:flex;align-items:center;gap:var(--space-2);min-width:0}.shell__trail ol{display:flex;align-items:center;min-width:0;margin:0;padding:0;list-style:none;font-size:.9rem;font-weight:600;color:var(--color-text-muted)}.shell__trail li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell__trail li+li:before{content:"›";margin:0 var(--space-2)}.shell__trail li[aria-current=page]{color:var(--color-text)}.shell__trail-back{display:none;font-size:1.25rem;text-decoration:none}.shell__profile{position:relative}.shell__dot{position:absolute;top:-2px;right:-2px;width:.7rem;height:.7rem;border-radius:999px;background:var(--color-accent-solid);border:2px solid var(--color-surface)}.shell__menu-signout{background:none;font:inherit;font-size:.9rem;font-weight:600;text-align:left;cursor:pointer}.shell__nav-item{padding:var(--space-2) var(--space-3);border-radius:999px;border:1px solid transparent;color:var(--color-text-muted);font-size:.9rem;font-weight:600;text-decoration:none}.shell__nav-item:hover{background:var(--color-nav-hover-bg);color:var(--color-text)}.shell__nav-item[aria-current=page]{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent)}.shell__nav-item:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.shell__profile{display:flex;border-radius:999px;box-shadow:0 0 0 2px var(--color-accent-glow)}.shell__profile:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.shell__main{flex:1;width:100%;max-width:60rem;margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-8)}.shell__main--table{max-width:none}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);box-shadow:var(--shadow-md),inset 0 1px 0 var(--color-surface-glint)}.panel__title{font-size:1rem;margin:0 0 var(--space-3)}.muted{color:var(--color-text-muted)}.row{display:flex;align-items:center;gap:var(--space-3)}.row--wrap{flex-wrap:wrap}.stack>*+*{margin-top:var(--space-3)}.button{font:inherit;font-weight:600;padding:.5rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}.button:hover:not(:disabled){border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.button:active:not(:disabled){transform:translateY(1px)}.button:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.button:disabled{opacity:.5;cursor:not-allowed}.button--primary{background:var(--color-accent-solid);border-color:var(--color-accent);color:var(--color-accent-solid-text);box-shadow:0 .5rem 1.25rem -.5rem var(--color-accent-glow)}.button--primary:hover:not(:disabled){border-color:var(--color-accent);box-shadow:0 .5rem 1.25rem -.35rem var(--color-accent-glow),0 0 0 3px var(--color-accent-glow)}.button--danger{background:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-text)}.button--large{padding:.75rem 1.5rem;font-size:1.05rem}.field{display:block;margin-bottom:var(--space-3)}.field__label{display:block;font-weight:600;margin-bottom:var(--space-1);font-size:.9rem}.field__input,.field__select{font:inherit;width:100%;padding:.5rem .75rem;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface-raised);color:var(--color-text)}.field__input:focus-visible,.field__select:focus-visible{outline:3px solid var(--color-accent);outline-offset:1px}.password-field{display:flex;gap:var(--space-2)}.password-field .field__input{flex:1;min-width:0}.notice{border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface-raised)}.notice--error{border-color:var(--color-danger);background:var(--color-danger-soft)}.notice--info{border-color:var(--color-accent);background:var(--color-accent-soft)}.list{list-style:none;margin:0;padding:0}.list__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.list__item:last-child{border-bottom:none}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.table th{font-size:.85rem;color:var(--color-text-muted)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;font-weight:700;color:var(--color-text-inverted);overflow:hidden;flex:none}.avatar--small{width:1.75rem;height:1.75rem;font-size:.75rem}.avatar--large{width:4rem;height:4rem;font-size:1.25rem}.avatar img{width:100%;height:100%;object-fit:cover}.avatar--offline{filter:grayscale(1);opacity:.6}.card{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;width:var(--card-width, 3.4rem);height:var(--card-height, 4.75rem);padding:var(--space-1);border-radius:var(--radius-md);border:2px solid var(--card-border, var(--color-border-strong));background:var(--card-bg, var(--color-card-unknown-bg));color:var(--card-text, var(--color-text));font-weight:700;box-shadow:var(--shadow-md),inset 0 0 0 1px var(--color-card-sheen);animation:card-in .22s ease-out}.card__label{font-size:1.9rem;line-height:1}.card--number:before,.card--number:after{content:var(--card-index, "");position:absolute;font-size:.7rem;line-height:1;opacity:.8}.card--number:before{top:.3rem;left:.4rem}.card--number:after{bottom:.3rem;right:.4rem;transform:rotate(180deg)}.card--modifier .card__label{font-size:1.45rem}.card--action .card__label{font-size:.6rem;text-align:center;line-height:1.15;-webkit-hyphens:auto;hyphens:auto}.card--small{width:2.1rem;height:2.9rem;border-width:1px}.card--small .card__label{font-size:1.05rem}.card--small.card--modifier .card__label{font-size:.8rem}.card--small.card--action .card__label{font-size:.45rem}.card--small.card--number:before,.card--small.card--number:after{content:none}.card--number{font-family:Georgia,Times New Roman,serif;font-size:1.25rem}.card--small.card--number{font-size:.95rem}.card--action{border-radius:50%/18%}.card--modifier{border-style:dashed}.card--bust{border-color:var(--color-status-bust);text-decoration:line-through;animation:card-bust .4s ease-out}.card__symbol{font-size:1.35rem;font-weight:600;line-height:1;opacity:.85}.card--small .card__symbol{font-size:.9rem}.cards{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center}.cards__modifiers{display:flex;gap:var(--space-1);padding-left:var(--space-2);margin-left:var(--space-1);border-left:2px dashed var(--color-border)}.pile--grew{animation:pile-grew .35s ease-out}@keyframes pile-grew{0%{transform:scale(1)}40%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes seat-bust{0%,to{transform:translate(0)}20%{transform:translate(-6px)}45%{transform:translate(5px)}70%{transform:translate(-3px)}}@keyframes seat-flip-seven{0%{transform:scale(1)}35%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes card-bust{0%{transform:rotate(0)}35%{transform:rotate(-7deg)}70%{transform:rotate(5deg)}to{transform:rotate(0)}}@keyframes card-in{0%{transform:translateY(-.5rem) scale(.9);opacity:0}to{transform:none;opacity:1}}.seat{position:relative;background:var(--color-seat-bg);border:2px solid var(--color-seat-border);border-radius:var(--radius-lg);padding:var(--space-3);min-width:var(--seat-width, 17rem);max-width:var(--seat-width, 17rem);margin-top:calc(var(--card-height, 4.75rem) / 2);box-shadow:var(--shadow-md),inset 0 1px 0 var(--color-surface-glint);transition:border-color .15s,box-shadow .15s,opacity .15s}.seat__frost{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;color:var(--color-status-frozen);opacity:.32;z-index:1}.seat__frost svg{width:62%;height:auto}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.card--incoming{visibility:hidden}.table-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm),inset 0 1px 0 var(--color-surface-glint)}.table-bar__name{margin:0;font-size:1.2rem}.seat--awaiting .seat__badges{visibility:hidden}.seat--awaiting.seat--busted,.seat--awaiting.seat--flip7{border-color:var(--color-seat-border);animation:none}.seat--awaiting.seat--stayed{border-style:solid}.seat--awaiting.seat--busted .cards,.seat--awaiting.seat--stayed .cards,.seat--awaiting.seat--stayed .seat__head{opacity:1}.flights{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.flight{position:absolute;width:var(--card-width, 3.4rem);height:var(--card-height, 4.75rem);margin:calc(var(--card-height, 4.75rem) / -2) 0 0 calc(var(--card-width, 3.4rem) / -2);border-radius:var(--radius-md)}.flight--draw{transition:transform .52s cubic-bezier(.3,.7,.4,1)}.flight__turn{position:absolute;top:0;right:0;bottom:0;left:0;animation:card-reveal .38s ease-in-out var(--flight-delay, 0ms)}.flight__side{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-weight:700}.flight__side--number{font-family:Georgia,Times New Roman,serif;font-size:1.9rem}.flight__side--modifier{font-size:1.45rem}.flight__side--action{border-radius:50%/18%;font-size:.6rem;line-height:1.15;text-align:center;padding:0 var(--space-1);-webkit-hyphens:auto;hyphens:auto}.flight__side--back{border:2px solid var(--color-table-felt-edge);background:var(--color-card-back-bg);box-shadow:inset 0 0 0 4px var(--color-card-back-bg),inset 0 0 0 5px var(--color-card-back-frame),var(--shadow-md);animation:card-hide-back .38s step-end var(--flight-delay, 0ms) forwards}.flight__side--face{border:2px solid var(--card-border);background:var(--card-bg);color:var(--card-text);opacity:0;animation:card-show-face .38s step-end var(--flight-delay, 0ms) forwards}.flight--action{border:2px solid var(--color-card-action-border);background:var(--color-card-action-bg);border-radius:50%/18%;box-shadow:var(--shadow-md);transition:transform .7s cubic-bezier(.3,.7,.4,1)}@keyframes card-reveal{0%,to{transform:scaleX(1)}46%,54%{transform:scaleX(.06)}}@keyframes card-hide-back{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes card-show-face{0%,49%{opacity:0}50%,to{opacity:1}}.stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.star{position:absolute;bottom:1rem;color:var(--color-status-flip7);animation:star-rise 2.8s ease-out infinite}@keyframes star-rise{0%{transform:translate(0) rotate(0) scale(.3);opacity:0}15%{opacity:1}70%{opacity:1}to{transform:translate(var(--star-x),-9rem) rotate(var(--star-spin)) scale(1);opacity:0}}.seat .cards{min-height:calc(var(--card-height, 4.75rem) * 2 + var(--space-1));align-content:flex-start}.seat__pending{position:absolute;top:calc(var(--card-height, 4.75rem) / -2);left:50%;transform:translate(-50%);z-index:2;animation:pending-card 1.8s ease-in-out infinite}@keyframes pending-card{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-.25rem)}}.seat__actions{margin-top:var(--space-2);border-top:1px solid var(--color-border);padding-top:var(--space-2)}.seat__actions .actions{margin-top:0}.seat__actions .actions+.actions{margin-top:var(--space-2)}.seat--active{border-color:var(--color-seat-active-ring);border-width:4px;box-shadow:0 0 0 4px var(--color-seat-active-glow),var(--shadow-md);animation:seat-pulse 1.6s ease-in-out infinite}.seat--busted{border-color:var(--color-status-bust);animation:seat-bust .4s ease-out}.seat--flip7{border-color:var(--color-status-flip7);animation:seat-flip-seven .7s ease-out}.seat--stayed{border-style:dashed}.seat--stayed .seat__head,.seat--stayed .cards,.seat--busted .cards{opacity:.55}.seat__head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.seat__timer{display:block;flex:none;width:2.5rem;height:2.5rem}.seat__who{display:flex;flex-direction:column;flex:1;min-width:0}.seat__name{font-weight:600;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat__scores{font-size:.8rem;line-height:1.2;white-space:nowrap}.seat__total{font-weight:700;font-size:1rem}.seat__badges{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:700;padding:.1rem .45rem;border-radius:var(--radius-sm);border:1px solid currentColor}.badge--bust{color:var(--color-status-bust);background:var(--color-status-bust-soft)}.badge--stayed{color:var(--color-status-stayed);background:var(--color-status-stayed-soft)}.badge--frozen{color:var(--color-status-frozen);background:var(--color-status-frozen-soft)}.badge--flip7{color:var(--color-status-flip7);background:var(--color-status-flip7-soft)}.badge--auto{color:var(--color-status-auto)}.badge--offline{color:var(--color-status-offline)}.badge--turn{color:var(--color-accent);background:var(--color-accent-soft)}@keyframes seat-pulse{0%,to{box-shadow:0 0 0 4px var(--color-seat-active-glow),var(--shadow-md)}50%{box-shadow:0 0 0 9px var(--color-seat-active-glow),var(--shadow-md)}}@media (prefers-reduced-motion: reduce){.flights,.stars{display:none}.seat--active,.seat--busted,.seat--flip7,.card,.card--bust,.pile--grew{animation:none}}.timer{position:relative;display:inline-block;width:2.5rem;height:2.5rem;flex:none}.timer__ring{transform:rotate(-90deg)}.timer__track{stroke:var(--color-timer-track)}.timer__fill{stroke:var(--color-timer-fill);transition:stroke-dashoffset .25s linear}.timer__fill--low{stroke:var(--color-timer-fill-low)}.timer__value{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:.8rem;font-weight:700}.table-view{position:relative;--card-width: clamp(2.4rem, 4.6vh, 3.4rem);--card-height: calc(var(--card-width) * 1.397);--seat-width: calc(var(--card-width) * 4 + var(--space-1) * 3 + var(--space-3) * 2 + .5rem);--felt-height: clamp(26rem, 58vh, 40rem)}.table-view:fullscreen{padding:var(--space-3);overflow-y:auto;background:var(--color-bg)}.felt{position:relative;min-height:var(--felt-height, 40rem);border-radius:50%/30%;background:radial-gradient(circle at 50% 40%,var(--color-table-felt),var(--color-table-felt-edge));border:6px solid var(--color-table-felt-edge);box-shadow:inset 0 0 5rem var(--color-table-felt-shadow);margin-bottom:var(--space-6)}.felt:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;opacity:.5;background-image:repeating-linear-gradient(45deg,var(--color-weave-hi) 0 1px,transparent 1px 6px),repeating-linear-gradient(-45deg,var(--color-weave-lo) 0 1px,transparent 1px 6px)}.felt__centre{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:var(--space-4);align-items:center;color:var(--color-table-felt-text)}.felt__round{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin:0 0 var(--space-2);white-space:nowrap;color:var(--color-table-felt-label);font-size:.8rem;font-weight:600}.pile{display:grid;place-items:center;width:var(--card-width, 3.4rem);height:var(--card-height, 4.75rem);border-radius:var(--radius-md);border:2px solid var(--color-table-felt-edge);background:var(--color-card-back-bg);color:var(--color-table-felt-text);font-weight:700;box-shadow:inset 0 0 0 4px var(--color-card-back-bg),inset 0 0 0 5px var(--color-card-back-frame),inset 0 0 0 7px var(--color-card-back-bg),inset 0 0 0 8px var(--color-card-back-frame),var(--shadow-md)}.pile-slot{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.pile__label{color:var(--color-table-felt-label);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.felt__seat{position:absolute}:root{--side-width: clamp(12rem, 16vw, 15rem)}.side-column{display:flex;flex-direction:column;gap:var(--space-3)}.button--icon{display:inline-flex;align-items:center;justify-content:center;padding:.5rem}.icon{display:block;width:1.25rem;height:1.25rem}.table-bar__tools{display:flex;gap:var(--space-2)}.modal--confirm{width:min(24rem,100%)}.modal--confirm .panel__title{margin-top:0}.shell__main--admin{max-width:78rem}.admin-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:end;margin-bottom:var(--space-3)}.admin-toolbar .field{margin:0}.table-scroll{overflow-x:auto}.table--rows tbody tr{cursor:pointer}.table--rows tbody tr:hover{background:var(--color-nav-hover-bg)}.manage-section{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-3);margin-top:var(--space-3);border-top:1px solid var(--color-border)}.manage-section__title{margin:0;font-size:.95rem}.manage-row{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:var(--space-3);align-items:center}.manage-row>.button{justify-self:start}.manage-row__label{color:var(--color-text-muted);font-size:.9rem;font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:var(--space-4);background:var(--color-scrim)}.modal{display:flex;flex-direction:column;width:min(56rem,100%);max-height:calc(100vh - 2 * var(--space-4));margin:0;overflow:hidden;box-shadow:var(--shadow-md)}.modal .table-scroll{flex:1;min-height:0;overflow-y:auto}.table__row--picked{background:var(--color-accent-soft)}.table__filters td{padding-top:var(--space-2);padding-bottom:var(--space-2);vertical-align:middle}.table__filters .field__input,.table__filters .field__select{box-sizing:border-box;display:block;width:100%;min-width:7rem;height:2rem;margin:0;padding:0 .5rem;font-size:.85rem;line-height:1}.modal--small{width:min(26rem,100%)}.panel__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.panel__head .panel__title{margin:0}.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3)}.pagination__pages{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.pagination__page{min-width:2.5rem;padding:.35rem .6rem}.pagination__page--current{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent)}.table-stage{position:relative}.stage-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:grid;place-items:center;padding:var(--space-4);pointer-events:none}.stage-overlay>*{pointer-events:auto}.stage-overlay--veiled{background:var(--color-scrim);border-radius:50%/30%;pointer-events:auto}.stage-overlay--corner{place-items:start}.stage-overlay__card{max-width:32rem;margin:0;box-shadow:var(--shadow-md)}@media (min-width: 768px){.shell--table{height:100vh;height:100dvh;min-height:0}.shell__main--table{min-height:0;padding:var(--space-3)}.shell--table .table-view{display:grid;grid-template-columns:var(--side-width) minmax(0,1fr);gap:var(--space-3);height:100%}.table-side{min-height:0;overflow-y:auto}.table-side .shell__header{position:static;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:none}.table-side .shell__header-inner{gap:var(--space-3);padding:0}.table-side .table-bar{flex-direction:column;align-items:stretch;margin-bottom:0}.table-side .list__item{flex-direction:column;align-items:stretch;gap:var(--space-2)}.table-side .list__item .row{flex-wrap:wrap;gap:var(--space-1)}.table-side .list__item .button{flex:1;padding-inline:var(--space-2)}.table-side .notice,.table-side .panel{margin:0}.table-stage{container-type:size;min-width:0;min-height:0;--card-width: clamp( 1.6rem, min((100cqh - var(--table-chrome)) / 8.382, (21cqw - 2.75rem) / 4), 3.4rem );--card-height: calc(var(--card-width) * 1.397);--seat-width: calc(var(--card-width) * 4 + var(--space-1) * 3 + var(--space-3) * 2 + .5rem);--table-chrome: 22.5rem}.table-stage .felt{height:100%;min-height:0;margin:0}.table-stage .seat{min-width:max(var(--seat-width),min(12rem,19cqw));max-width:max(var(--seat-width),min(12rem,19cqw))}.table-stage .seat--self{min-width:max(var(--seat-width),min(15rem,24cqw));max-width:max(var(--seat-width),min(15rem,24cqw))}.table-stage .seat .cards{max-width:calc(var(--card-width) * 4 + var(--space-1) * 3)}.table-stage .felt__centre{top:calc(50% - 2.5rem)}}.mobile-table{display:none}.opponent-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.opponent-row--active{border-left:4px solid var(--color-seat-active-ring);background:var(--color-accent-soft)}.opponent-row__name{font-weight:600;font-size:.9rem;min-width:5rem}.opponent-row__cards{flex:1;overflow-x:auto}.round-points{min-width:2.5rem;text-align:left;font-size:.8rem;color:var(--color-text-muted);white-space:nowrap}.mobile-table__round{margin:0;padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:.8rem;font-weight:600}.own-area{display:none;position:sticky;bottom:0;background:var(--color-surface);border-top:2px solid var(--color-border);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-md)}.own-area--active{border-left:4px solid var(--color-seat-active-ring);background:var(--color-accent-soft)}.own-area__line{display:flex;align-items:center;gap:var(--space-2)}.own-area__who{font-size:.9rem;min-width:5rem}.own-area__cards{flex:1;min-width:0;overflow-x:auto}.own-area__cards .cards{flex-wrap:nowrap}.own-area .seat__actions{margin-top:var(--space-1);border-top:none;padding-top:0}.own-area .seat__actions p{margin:0 0 var(--space-1)}.own-area .seat__actions .actions+.actions{margin-top:var(--space-1)}.own-area .actions{gap:var(--space-2)}.own-area .button{min-height:2.5rem;padding:.35rem .75rem}.actions{display:flex;gap:var(--space-3);margin-top:var(--space-3)}.actions .button{flex:1}@media (max-width: 767px){.shell__trail-back{display:inline}.shell__trail li:not(:last-child){display:none}.shell__trail li+li:before{content:none}.manage-row{grid-template-columns:1fr;gap:var(--space-1)}.stage-overlay{position:static;padding:0 0 var(--space-3)}.stage-overlay--veiled{background:none}.felt{display:none}.mobile-table,.own-area{display:block}.shell__main{padding:var(--space-3) 0 0}.panel{border-radius:0;border-left:none;border-right:none}}
