:root{--glass-fill:#ffffff1a;--glass-rim:#ffffff52;--glass-shine:#ffffff8c;--glass-lens:#fff3;--glass-shadow:0 10px 30px #00000059, 0 2px 6px #0003;--spring:cubic-bezier(.3, 1.35, .5, 1);--bar-h:64px}.shell,.full-page{min-height:100dvh}.tab-page{box-sizing:border-box;max-width:480px;min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 16px calc(var(--bar-h) + 28px + env(safe-area-inset-bottom));flex-direction:column;gap:14px;margin:0 auto;display:flex}.tab-page__title{letter-spacing:-.01em;margin:4px 0 0;font-size:30px}.tabbar{left:50%;bottom:calc(12px + env(safe-area-inset-bottom));z-index:20;width:min(380px,100% - 32px);height:var(--bar-h);box-sizing:border-box;background:linear-gradient(180deg, #ffffff29, var(--glass-fill)), #0f3f2259;-webkit-backdrop-filter:blur(22px)saturate(190%)brightness(108%);backdrop-filter:blur(22px)saturate(190%)brightness(108%);border:1px solid var(--glass-rim);box-shadow:inset 0 1px 0 var(--glass-shine), inset 0 -1px 0 #ffffff14, var(--glass-shadow);border-radius:999px;grid-template-columns:repeat(3,1fr);padding:5px;display:grid;position:fixed;transform:translate(-50%)}.tabbar:before{content:"";pointer-events:none;background:linear-gradient(#ffffff1a,#0000);border-radius:999px;height:40%;position:absolute;inset:1px 6% auto}.tabbar__lens{background:var(--glass-lens);width:calc(33.3333% - 3.33333px);transform:translateX(calc(var(--tab-index) * 100%));transition:transform .5s var(--spring);pointer-events:none;border-radius:999px;position:absolute;top:5px;bottom:5px;left:5px;box-shadow:inset 0 1px #ffffff73,inset 0 -1px 1px #0000001f,0 2px 8px #0000002e}.tabbar__item{color:#ffffffc7;min-height:0;transition:color .2s, transform .2s var(--spring);background:0 0;border:0;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;display:flex;position:relative}.tabbar__item:active{transform:scale(.92)}.tabbar__item--on{color:var(--accent)}.tabbar__icon{width:24px;height:24px}.tabbar__label{letter-spacing:.01em;font-size:10.5px;font-weight:600}@media (prefers-reduced-motion:reduce){.tabbar__lens,.segmented__lens{transition:none}}.segmented{background:var(--glass-fill);border:1px solid var(--glass-rim);border-radius:999px;grid-template-columns:1fr 1fr;padding:4px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff40}.segmented__lens{background:var(--glass-lens);width:calc(50% - 4px);transform:translateX(calc(var(--seg-index) * 100%));transition:transform .45s var(--spring);pointer-events:none;border-radius:999px;position:absolute;top:4px;bottom:4px;left:4px;box-shadow:inset 0 1px #ffffff73,0 2px 8px #0000002e}.segmented__item{color:#ffffffc7;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:600;display:inline-flex;position:relative}.segmented__item--on{color:var(--ink)}.segmented__icon{width:22px;height:22px}.play__resume{border:1px solid var(--glass-rim);background:linear-gradient(180deg, #ffffff2e, var(--glass-fill));box-shadow:inset 0 1px 0 var(--glass-shine);text-align:left;border-radius:16px;justify-items:start;gap:2px;padding:12px 16px;display:grid}.play__resume-title{color:var(--accent);font-size:17px;font-weight:700}.play__resume-info{color:var(--muted);font-size:13px}.play__lengths{gap:8px;display:grid}.play__length{text-align:left;background:#00000024;border:1px solid #fff3;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.play__length--on{border-color:var(--accent);background:#facc151a}.play__radio{box-sizing:border-box;border:2px solid #ffffffb3;border-radius:50%;flex:none;width:20px;height:20px}.play__length--on .play__radio{border-color:var(--accent);background:radial-gradient(var(--accent) 45%, transparent 50%)}.play__length-text{display:grid}.play__length-name{font-size:16px;font-weight:700}.play__length-info{color:var(--muted);font-size:13px}.play__note{color:var(--muted);text-align:center;margin:0;font-size:13px}.play__practice{min-height:44px;color:var(--muted);text-underline-offset:3px;background:0 0;border:none;justify-content:center;place-self:center;align-items:center;gap:8px;padding:0 16px;font-size:15px;text-decoration:underline;display:inline-flex}.play__practice-icon{width:20px;height:20px}.play__online-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.play__online-actions button{border-radius:999px;min-height:54px;font-size:17px}.play__confirm{border:1px solid var(--accent);background:#00000040;border-radius:16px;gap:10px;padding:14px;display:grid}.play__confirm p{margin:0;font-weight:600}.play__confirm-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.rooms__list{text-align:center;background:#00000024;border:1px solid #fff3;border-radius:16px;flex:1;place-content:center;gap:6px;min-height:160px;padding:16px;display:grid}.rooms__empty,.rooms__soon{margin:0}.rooms__soon{color:var(--muted);font-size:13px}.rooms__actions{gap:8px;display:grid}.rooms__actions button{border-radius:999px;min-height:50px}@media (orientation:landscape) and (height<=500px){.shell{--bar-h:54px}.tab-page{max-width:640px}.tab-page__title{font-size:22px}.play__lengths{grid-template-columns:repeat(4,1fr);gap:6px}.play__length{gap:8px;padding:8px 10px}.play__radio{display:none}.play__length-info{font-size:12px}}.rooms__list{place-content:start stretch}.rooms__empty-box{align-self:center;gap:6px;padding:24px 0;display:grid}.room-row{border:1px solid var(--accent);text-align:left;background:#facc1514;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.room-row__text{flex:1;min-width:0;display:grid}.room-row__name{font-weight:700}.room-row__meta{color:var(--muted);font-size:12px}.full-page{box-sizing:border-box;max-width:520px;padding:max(12px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));flex-direction:column;gap:14px;margin:0 auto;display:flex}.full-page__bar{grid-template-columns:44px 1fr auto;align-items:center;gap:8px;display:grid}.full-page__bar h1{text-align:center;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:20px;overflow:hidden}.full-page__action{border-radius:999px;min-height:54px;margin-top:auto;font-size:17px}.icon-button{background:var(--glass-fill);border:1px solid var(--glass-rim);border-radius:50%;width:40px;height:40px;min-height:0;padding:0;font-size:16px}.link-button{min-height:0;color:var(--accent);background:0 0;border:0;padding:4px 0;font-size:13px;font-weight:600}.field{gap:6px;font-weight:600;display:grid}.field--row{grid-template-columns:1fr auto;align-items:center}.field input{font:inherit;color:var(--ink);background:#0003;border:1px solid #ffffff4d;border-radius:10px;padding:10px 12px;font-weight:400}.segmented--mini{padding:3px}.segmented--mini .segmented__lens{width:calc(50% - 3px);top:3px;bottom:3px;left:3px}.segmented--mini .segmented__item{min-height:32px;padding:0 12px;font-size:13px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:999px;min-height:34px;padding:4px 14px;font-size:14px;font-weight:600}.chip--on{background:var(--ink);color:var(--felt-dark);border-color:var(--ink)}.step-slider{gap:4px;display:grid}.step-slider__head{justify-content:space-between;font-weight:600;display:flex}.step-slider__value{color:var(--accent);font-variant-numeric:tabular-nums}.step-slider input[type=range]{width:100%;accent-color:var(--accent);margin:4px 0 0}.step-slider__ticks{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:11px;display:flex}.length-row{text-align:left;background:#00000024;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.length-row__text{font-weight:600;display:grid}.length-row__text small{color:var(--muted);font-weight:400}.length-row__value{color:var(--accent);white-space:nowrap;font-weight:700}.sheet-backdrop{z-index:40;background:#00000073;place-items:end center;display:grid;position:fixed;inset:0}.sheet-backdrop--inner{align-items:center;padding:24px}.sheet{box-sizing:border-box;width:min(520px,100%);max-height:88dvh;padding:16px 16px max(16px, env(safe-area-inset-bottom));background:var(--felt-dark);border:1px solid var(--glass-rim);box-shadow:var(--glass-shadow);border-radius:20px 20px 0 0;gap:10px;display:grid;overflow:auto}.sheet h2{margin:0;font-size:18px}.rule-sheet{border-radius:16px;width:min(420px,100%);padding-bottom:16px}.rule-sheet p{margin:0}.length-sheet__top{gap:10px;display:grid}.length-sheet__head{justify-content:space-between;align-items:baseline;display:flex}.length-sheet__count{color:var(--accent);font-weight:700}.length-sheet__quick{flex-wrap:wrap;gap:6px;display:flex}.length-sheet__quick button{min-height:32px;padding:2px 12px;font-size:13px}.length-sheet__list{grid-template-rows:repeat(8,auto);grid-template-columns:1fr 1fr;grid-auto-flow:column;column-gap:12px;margin:0;padding:0;list-style:none;display:grid}.length-sheet__row{border-bottom:1px solid #ffffff1a;align-items:center;gap:2px;min-width:0;display:flex}.length-sheet__check{box-sizing:border-box;flex:1;align-items:center;gap:8px;min-width:0;min-height:40px;padding:5px 0;font-size:13px;line-height:1.2;display:flex}.length-sheet__check input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:0}.length-sheet__info{width:28px;height:28px;min-height:0;color:var(--muted);background:0 0;border:0;flex:none;padding:0;font-size:15px}@media (orientation:landscape) and (height<=520px){.length-sheet{width:min(900px,100%);padding-top:10px;padding-bottom:max(8px, env(safe-area-inset-bottom));gap:6px}.length-sheet__list{grid-template-rows:repeat(4,auto);grid-template-columns:repeat(4,1fr)}.length-sheet__check{min-height:32px;padding:2px 0}.length-sheet__top{align-items:center;gap:16px;display:flex}.length-sheet__head{flex:1;gap:12px}.length-sheet__quick button{min-height:28px}.length-sheet .primary{min-height:40px}}.length-sheet__min{color:var(--muted);margin:0;font-size:12px}.room-lobby__badge{background:var(--glass-fill);border:1px solid var(--glass-rim);color:var(--muted);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:11px}.room-lobby__rules{text-align:center;color:var(--muted);margin:0;font-size:13px}.seats{gap:8px;margin:0;padding:0;list-style:none;display:grid}.seat{box-sizing:border-box;background:#00000024;border:1px solid #ffffff38;border-radius:14px;align-items:center;gap:10px;min-height:56px;padding:8px 12px;display:flex}.seat--open{border-style:dashed;padding:8px}.seat__avatar{background:var(--glass-lens);border:2px solid var(--accent);border-radius:50%;flex:none;width:34px;height:34px}.seat__avatar--bot{border-color:var(--muted)}.seat__name{text-overflow:ellipsis;min-width:0;font-weight:700;overflow:hidden}.seat__meta{color:var(--muted);margin-left:auto;font-size:12px}.seat__remove{width:32px;height:32px;font-size:13px}.seat__actions{flex:1;grid-template-columns:1fr 1fr;gap:8px;display:grid}.seat__actions button{border-radius:999px;min-height:40px;font-size:14px}.room-lobby__note{color:var(--muted);text-align:center;margin:0;font-size:13px}.avatar{color:#fff;background:hsl(var(--avatar-hue,38) 72% 44%);border-radius:50%;flex:none;place-items:center;display:inline-grid;box-shadow:inset 0 0 0 2px #ffffff59}.avatar--small{width:34px;height:34px}.avatar--medium{width:48px;height:48px}.avatar--big{width:72px;height:72px}.avatar--small .avatar__icon{width:20px;height:20px}.avatar--big .avatar__icon{width:40px;height:40px}.avatar-picker__head{justify-content:space-between;align-items:center;display:flex}.avatar-picker__icons{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.avatar-picker__icon{aspect-ratio:1;color:#fff;background:#0000002e;border:1px solid #fff3;border-radius:12px;place-items:center;min-height:0;padding:0;display:grid}.avatar-picker__icon--on{border:2px solid var(--accent);background:#facc1524}.hue-slider{appearance:none;touch-action:none;background:linear-gradient(90deg,#c11f1f,#c1c11f,#1fc11f,#1fc1c1,#1f1fc1,#c11fc1,#c11f22);border:1px solid #ffffff4d;border-radius:999px;width:100%;height:28px;margin:4px 0}.hue-slider::-webkit-slider-thumb{-webkit-appearance:none;background:hsl(var(--avatar-hue) 72% 44%);border:3px solid #fff;border-radius:50%;width:34px;height:34px;box-shadow:0 2px 8px #0006}.hue-slider::-moz-range-thumb{background:hsl(var(--avatar-hue) 72% 44%);border:3px solid #fff;border-radius:50%;width:30px;height:30px;box-shadow:0 2px 8px #0006}.profile__me{gap:14px;display:grid}.profile__id{align-items:center;gap:14px;display:flex}.profile__avatar{background:0 0;border:0;border-radius:50%;min-height:0;padding:0}.profile__who{flex:1;gap:2px;min-width:0;display:grid}.profile__name{text-align:left;min-height:0;color:inherit;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:22px;font-weight:700;display:flex}.profile__name span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile__name span:last-child{color:var(--muted);font-size:16px}.profile__name-form{gap:4px;display:grid}.profile__name-form input{font:inherit;border:1px solid var(--accent);color:inherit;background:#0003;border-radius:10px;padding:8px 10px;font-size:18px}.profile__sub{color:var(--muted);font-size:13px}.profile__error{color:#fca5a5;font-size:13px}.profile__stats{gap:10px;display:grid}.segmented--stats{min-height:44px}.profile__tiles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.profile__tile{background:var(--glass-fill);border:1px solid var(--glass-rim);color:var(--muted);border-radius:14px;gap:2px;padding:10px 14px;font-size:13px;display:grid}.profile__tile b{color:#fff;font-size:26px}.profile__label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:4px 0 0;font-size:13px;font-weight:600}.profile__empty,.profile__hint{color:var(--muted);margin:0;font-size:14px}.profile__empty{text-align:center;border:1px dashed #ffffff40;border-radius:12px;padding:14px}.profile__hint{text-align:center;font-size:12px}.profile__history{border-radius:999px;min-height:44px}.profile__links{grid-template-columns:1fr 1fr;gap:10px;display:grid}.profile__links button{border-radius:999px;min-height:48px}.game-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.game-row{text-align:left;width:100%;min-height:44px;color:inherit;background:#00000029;border:1px solid #ffffff2e;border-radius:12px;grid-template-columns:4.6em 1fr auto;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:grid}.game-row__when{color:var(--muted);font-size:13px}.game-row__what{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-row__result{font-variant-numeric:tabular-nums;font-weight:700}.game-row__result--won{color:var(--accent)}.game-scores{z-index:41}.settings__group{background:#00000029;border:1px solid #ffffff29;border-radius:16px;gap:10px;padding:12px 14px;display:grid}.settings__group h2{margin:0;font-size:15px}.settings__choices{gap:6px;display:grid}.settings__choice{text-align:left;border-radius:12px;align-items:center;gap:10px;min-height:44px;padding:8px 12px;display:flex}.settings__choice--on{border-color:var(--accent);background:#facc151a}.settings__choice--on .play__radio{border-color:var(--accent);background:radial-gradient(circle, var(--accent) 45%, transparent 50%)}.settings__links{gap:0;padding:4px 14px}.settings__row{min-height:48px;color:inherit;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;padding:0;font-size:15px;display:flex}.settings__row+.settings__row{border-top:1px solid #ffffff24}.settings__delete{color:#fca5a5;background:0 0;border:1px solid #fca5a5;border-radius:999px;min-height:48px;margin-top:auto}.settings__delete-body{margin:0;font-size:14px;line-height:1.45}.confirm-sheet button{border-radius:999px;min-height:48px}.full-page--overlay{z-index:60;background:radial-gradient(120% 60% at 50% 0,#1d6b3b 0%,#0000 60%),#14532d;max-width:none;padding-left:max(16px,50% - 260px);padding-right:max(16px,50% - 260px);position:fixed;inset:0;overflow-y:auto}.how-to{gap:10px}.how-to__intro{color:var(--muted);margin:0;font-size:14px}.how-to__section{background:#00000029;border:1px solid #ffffff29;border-radius:14px;padding:0 14px}.how-to__section summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:48px;font-weight:700;list-style:none;display:flex}.how-to__section summary::-webkit-details-marker{display:none}.how-to__section summary:after{content:"›";color:var(--muted);font-size:20px;transition:transform .2s}.how-to__section[open] summary:after{transform:rotate(90deg)}.how-to__section p{margin:0 0 10px;font-size:15px;line-height:1.5}.how-to__contracts{gap:4px;margin:0 0 12px;padding-left:1.6em;font-size:14px;display:grid}.how-to__final{color:var(--accent);margin-left:-1.6em;font-weight:600;list-style:none}.how-to__examples{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.how-to__example{align-items:center;gap:10px;font-size:13px;display:flex}.how-to__cards{flex:none;gap:3px;display:flex}.how-to__ok{color:#86efac}.how-to__no{color:#fca5a5}@media (orientation:landscape) and (height<=500px),(width>=760px){.tab-page.profile{max-width:860px}.profile__me{grid-template:"id stats""links stats"1fr/minmax(0,1fr) minmax(0,1.25fr);align-items:start;column-gap:24px}.profile__id{grid-area:id}.profile__stats{grid-area:stats}.profile__links{grid-area:links}}.room-code{background:var(--glass-fill);border:1px solid var(--glass-rim);border-radius:14px;grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;column-gap:12px;padding:10px 14px;display:grid}.room-code__label{color:var(--muted);font-size:12px}.room-code__value{letter-spacing:.12em;font-variant-numeric:tabular-nums;grid-row:2;font-size:26px;font-weight:800}.room-code button{border-radius:999px;grid-area:1/2/span 2;min-height:40px;padding:0 16px;font-size:14px}.room-lobby__status,.rooms__notice{text-align:center;background:#facc1529;border:1px solid #facc1566;border-radius:12px;margin:0;padding:8px 12px;font-size:13px}.room-lobby__error,.join-sheet__error{color:#fca5a5;text-align:center;margin:0;font-size:13px}.seat--away{opacity:.6}.seat__waiting{text-align:center;color:var(--muted);flex:1;font-size:14px}.join-sheet{border-radius:16px;width:min(420px,100%)}.join-sheet__code{letter-spacing:.14em;text-transform:uppercase;text-align:center;font-size:24px;font-weight:800}.join-sheet__buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.join-sheet__buttons button{border-radius:999px;min-height:48px}.rooms__games{flex:none;min-height:0}.rooms__heading{color:var(--muted);margin:0 0 4px;font-size:15px}.room-lobby__chat{background:#00000026;border:1px solid #fff3;border-radius:16px;gap:6px;padding:10px 12px 12px;display:grid}.room-lobby__chat-title{margin:0;font-size:15px}.room-lobby__chat .chat__lines{max-height:160px;overflow-y:auto}:root{--felt:#14532d;--felt-dark:#0f3f22;--felt-light:#1d6b3b;--ink:#f8fafc;--muted:#bbf7d0;--card:#fff;--card-ink:#111827;--card-red:#c81e1e;--accent:#facc15;--new:#38bdf8;--danger:#fecaca;--card-w:52px;--card-h:74px;--small-w:44px;--small-h:62px;--big-w:50px;--big-h:72px;--hand-gap:6px;--group-step:max(22px, calc(var(--card-w) * .46));--group-space:12px;--raise:10px}.table{max-width:560px;height:100dvh;padding:max(8px, env(safe-area-inset-top)) 12px calc(max(12px, env(safe-area-inset-bottom)) + 20px);box-sizing:border-box;grid-template:"header header""opponents opponents""melds side"minmax(0,1fr)"hint hint""hand hand"/minmax(0,1fr) auto;gap:6px 10px;margin:0 auto;display:grid;overflow:hidden}.table__header{grid-area:header}.opponents{grid-area:opponents}.table__meldsarea{flex-direction:column;grid-area:melds;min-height:0;display:flex;position:relative}.table__melds{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow:auto}.side{box-sizing:border-box;flex-direction:column;grid-area:side;justify-content:flex-end;align-items:flex-end;min-height:0;padding-bottom:8px;display:flex;position:relative}.side__piles{flex-direction:column;gap:22px;display:flex;position:relative}.side .pile{touch-action:none}.table__hand{grid-area:hand}button{font:inherit;background:var(--felt-light);color:var(--ink);cursor:pointer;border:1px solid #fff5;border-radius:8px;min-height:40px;padding:8px 12px}button:disabled{opacity:.45;cursor:default}button:focus-visible{outline:3px solid var(--new);outline-offset:2px}button[aria-pressed=true]{border-color:var(--accent)}button.primary{background:var(--accent);color:#1f2937;border-color:var(--accent);font-weight:600}.table__header{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.table__header .badge{margin-left:6px}.table__contract{color:var(--ink);text-align:center;font-weight:600}.table__left{align-items:center;gap:8px;display:flex}.table__left span{white-space:nowrap}.table__buttons{gap:6px;display:flex}.table__scores{white-space:nowrap;min-height:32px;padding:4px 10px;font-size:13px}.opponents{gap:10px;margin:0 0 10px;padding:0;list-style:none;display:flex}.opponent{background:var(--felt-dark);border-radius:8px;flex-direction:column;flex:1;gap:2px;min-width:0;padding:5px 6px;font-size:12px;display:flex;position:relative}.opponent__pair{z-index:25;box-shadow:0 0 0 2px var(--accent);pointer-events:none;background:#0000008c;border-radius:8px;padding:4px 6px;animation:2.4s ease-out both pair-flash;display:flex;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}@keyframes pair-flash{0%,to{opacity:0}8%,80%{opacity:1}}@media (prefers-reduced-motion:reduce){.opponent__pair{animation:none}}.opponent--you{background:#0b2e19;border:1px solid #fff3}.opponent--turn{outline:2px solid var(--accent);background:#3f3a0d}.opponent__name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.opponent__bot{vertical-align:-2px;width:15px;height:15px;color:var(--accent);margin-left:4px}.dealer-chip{background:var(--felt);z-index:2;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:-10px;right:-8px}.dealer-chip svg{fill:none;stroke:#fff;stroke-width:1.6px;stroke-linecap:round}.opened-icon{background:var(--felt);z-index:2;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:16px;right:-8px}.opened-icon svg{fill:var(--felt);stroke:#fff;stroke-width:1.4px;stroke-linejoin:round}.dealer-chip__notch{stroke-width:2.6px;stroke-linecap:butt}.dealer-chip__d{stroke-width:1.3px;stroke-linejoin:round}.opponent__badges{flex-wrap:wrap;gap:4px;display:flex}.badge{white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;background:#fff2;border-radius:999px;max-width:100%;padding:1px 6px;font-size:11px;overflow:hidden}@media (width<=380px){.opponent .badge{padding:1px 4px;font-size:10px}}.badge--steals{font-variant-numeric:tabular-nums;align-items:center;gap:3px;display:inline-flex}.steal-icon{flex:none}.steal-icon rect{fill:#fff;stroke:none}.steal-icon path{fill:#f5d0a9;stroke:none}.badge--opened{background:#166534;border:1px solid #4ade80}.badge--away{background:#7c2d12}.badge--ready{color:#bbf7d0;background:#166534;font-weight:800}.countdown{background:var(--felt-dark);border-radius:999px;flex:1;height:24px;position:relative;overflow:hidden}.opponent__timer{height:6px;display:block}.countdown--compact{flex:none;height:4px;margin-top:2px}.countdown__bar{background:var(--accent);transform-origin:0;height:100%;animation-name:countdown-shrink;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes countdown-shrink{0%{transform:scaleX(var(--from))}to{transform:scaleX(0)}}.countdown__text{text-align:center;color:#fff;text-shadow:0 1px 2px #000c,0 0 3px #000a;font-size:14px;font-weight:700;line-height:24px;position:absolute;inset:0}.melds{flex-direction:column;gap:6px;display:flex}.melds--empty{color:var(--muted);text-align:center;margin:0;padding-top:12px;font-size:14px}.melds__name{color:var(--muted);margin:0 0 2px;font-size:12px;font-weight:500}.melds__list{flex-wrap:wrap;gap:6px;display:flex}.meld{background:var(--felt-dark);border:2px solid #0000;border-radius:6px;min-height:0;padding:3px;display:inline-flex}.meld--tappable{border-style:dashed;border-color:var(--accent)}.meld--pending{border-color:var(--new)}.pile{width:var(--big-w);height:var(--big-h);flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.pile__back{width:var(--big-w);height:var(--big-h);box-sizing:border-box;color:#fff;background:repeating-linear-gradient(45deg,#1e3a8a,#1e3a8a 5px,#1d4ed8 5px 10px);border:3px solid #fff;border-radius:8px;place-items:center;padding:0;font-size:20px;font-weight:700;display:grid}.pile__empty{width:var(--big-w);height:var(--big-h);border:2px dashed #fff5;border-radius:8px;place-items:center;display:grid}.pile--tap,.card--tap{box-shadow:0 0 0 3px var(--accent);cursor:pointer;animation:1.4s ease-in-out infinite tap-pulse}@keyframes tap-pulse{50%{box-shadow:0 0 0 5px var(--accent), 0 0 10px 3px #facc1566}}@media (prefers-reduced-motion:reduce){.pile--tap,.card--tap{animation:none}}.table__hint{text-align:center;min-height:1.35em;color:var(--muted);grid-area:hint;margin:0;font-size:13px;line-height:1.35}.table__hint--error{color:var(--danger);font-weight:600}.hand-bar{align-items:center;gap:8px;margin-bottom:4px;display:flex}.sort-toggle{white-space:nowrap;flex:none;min-height:34px;padding:2px 10px;font-size:13px}.controls__pair{flex:1;gap:8px;min-width:0;max-width:420px;display:flex}.controls__pair>button{flex:1 1 0;min-width:0;min-height:44px;padding:4px 8px;line-height:1.2}.turn-bar{align-items:center;height:26px;margin:0 0 2px;display:flex}.turn-bar__track{background:#0004;border-radius:0 2px 2px 0;flex:1;height:4px;margin-left:-13px;overflow:hidden}.turn-bar .countdown{background:0 0;border-radius:0;height:4px;margin:0;display:block}.turn-bar .countdown__bar{animation-name:countdown-shrink,turn-colour}.turn-bar__secs{z-index:1;color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 1px 1px #0006;background:#4ade80;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:13px;font-weight:700;animation-name:turn-colour;animation-timing-function:linear;animation-fill-mode:forwards;display:grid;position:relative}@keyframes turn-colour{0%,55%{background:#4ade80}80%{background:#facc15}to{background:#ef4444}}.turn-bar--steal .countdown__bar,.turn-bar--steal .turn-bar__secs{background:#38bdf8;animation-name:countdown-shrink}.turn-bar--steal .turn-bar__secs{animation-name:none}.controls{flex:1;justify-content:center;gap:8px;min-width:0;display:flex}.controls__main{white-space:normal;flex:1;max-width:340px;min-height:44px;padding:4px 8px;line-height:1.2}.controls__undo{min-height:44px}.contract-list{gap:6px;width:100%;max-height:45dvh;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.contract-list button{text-align:left;width:100%;min-height:34px;padding:6px 10px;font-size:14px}.table__hand{flex-direction:column;gap:2px;display:flex;position:relative}.hand{touch-action:none;flex-direction:column;gap:4px;display:flex}.hand__row{min-height:var(--card-h);padding-top:var(--raise);--item-gap:min(var(--hand-gap), calc(( 100% - var(--row-n) * var(--card-w) - var(--row-stacked) * var(--group-step) - var(--row-wide) * var(--group-space) ) / max(1, var(--row-n) - 1 - var(--row-wide))));justify-content:flex-start;display:flex}.hand__row>*{margin-left:var(--item-gap);flex:none}.hand__row>:first-child{margin-left:0}.hand .card{position:relative}.hand__group{display:inline-flex;position:relative}.hand__row>.hand__group,.hand__row>.hand__group+*{margin-left:var(--group-space)}.hand__row>.hand__group:first-child{margin-left:0}.hand__group:before{content:"";pointer-events:none;background:#ffffff1f;border:2px solid #ffffff80;border-radius:10px;position:absolute;inset:-3px}.hand__group>.card+.card{margin-left:calc(var(--group-step) - var(--card-w))}.hand__group--selected:before{border-color:var(--accent);transform:translateY(calc(-1 * var(--raise)))}.card{width:var(--card-w);height:var(--card-h);box-sizing:border-box;background:var(--card);color:var(--card-ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:1px solid #0003;border-radius:7px;flex-direction:column;justify-content:flex-start;align-items:flex-start;min-height:0;padding:4px 5px;line-height:1;display:inline-flex;box-shadow:0 1px 2px #0005}.card--red{color:var(--card-red)}.card--joker{color:#7c3aed}.card__rank{font-size:19px;font-weight:700}.card__suit{font-size:20px}.card--small{width:var(--small-w);height:var(--small-h);border-radius:5px;padding:2px 3px}.card--small .card__rank,.card--small .card__suit{font-size:18px}.card--small+.card--small{margin-left:-10px}.meld--stacked .card--small+.card--small{margin-left:calc(22px - var(--small-w))}.card--big{width:var(--big-w);height:var(--big-h);border-radius:8px;padding:5px 6px}.card--big .card__rank{font-size:24px}.card--big .card__suit{font-size:26px}.card--fresh{transform:translateY(calc(-1 * var(--raise)));border:3px solid var(--new);box-shadow:0 3px 6px #0007}.card--selected{transform:translateY(calc(-1 * var(--raise)));border:3px solid var(--accent);box-shadow:0 3px 6px #0007}.card--dragging{opacity:.35}.card--peek{box-shadow:0 0 0 3px var(--new)}.hand__ghost{z-index:20;transform:translate(-50%, -75%) rotate(var(--tilt,0deg));pointer-events:none;filter:drop-shadow(0 6px 8px #0009);transition:transform .12s ease-out;position:fixed}.meld--over{background:#3f3a0d;border-color:var(--accent)!important;border-style:solid!important}.meld--reject{animation:.3s shake;border-style:solid!important;border-color:#ef4444!important}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.meld--reject{animation:none}}.hand__ghost{flex-direction:column-reverse;align-items:center;gap:6px;display:flex}.hand__ghost-cards{display:flex}.hand__ghost-cards .card+.card{margin-left:calc(var(--card-w) * -.55)}.hand__ghost-label{background:var(--felt-dark);border:1px solid var(--accent);color:var(--accent);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700}.hand .card,.hand__group{transition:translate .15s}.card--shift,.hand__group--shift{translate:calc(var(--card-w) * .55) 0}@media (prefers-reduced-motion:reduce){.hand .card,.hand__group{transition:none}}.card--merge{outline:3px solid var(--new);outline-offset:2px}.hand__group--merge:before{border-color:var(--new);background:#38bdf840}button.hand__ungroup{z-index:3;color:#fff;background:#1f2937e6;border:1.5px solid #fffc;border-radius:50%;place-items:center;width:20px;height:20px;min-height:0;padding:0;display:grid;position:absolute;top:-11px;right:-9px}button.hand__ungroup:after{content:"";position:absolute;inset:-8px}.hand__group--selected button.hand__ungroup{top:calc(-1 * var(--raise) - 11px)}.hand__ungroup svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round}.screen-drop{z-index:15;border:3px dashed var(--accent);pointer-events:none;background:#facc1514;place-items:center;display:grid;position:fixed;inset:0}.screen-drop--discard{border-style:solid}.screen-drop__label{background:var(--felt-dark);color:var(--accent);border-radius:999px;padding:6px 16px;font-size:16px;font-weight:700}.peek{z-index:14;pointer-events:none;place-items:center;animation:.18s ease-out peek-in;display:grid;position:fixed;inset:0}@keyframes peek-in{0%{opacity:0;transform:scale(.8)}}@media (prefers-reduced-motion:reduce){.peek{animation:none}}.table__hint--flash{color:var(--accent);font-weight:800;animation:.8s ease-in-out 2 hint-pulse}@keyframes hint-pulse{50%{transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.table__hint--flash{animation:none}}.popup-backdrop{z-index:29;position:fixed;inset:0}.log-popup{top:var(--popup-top,calc(env(safe-area-inset-top) + 8px));z-index:30;box-sizing:border-box;-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);background:linear-gradient(#ffffff24,#ffffff0f),#0f3f22b8;border:1px solid #ffffff4d;border-radius:18px;grid-template-rows:auto minmax(0,1fr);width:min(480px,100% - 24px);max-height:min(45dvh,360px);padding:10px 12px 12px;animation:.25s ease-out log-drop;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff73,0 12px 32px #0006}@keyframes log-drop{0%{opacity:0;transform:translate(-50%,-12px)}}@media (prefers-reduced-motion:reduce){.log-popup{animation:none}}.log-popup__head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.log-popup__head h2{margin:0;font-size:15px}.log-popup__close{border-radius:50%;width:32px;height:32px;min-height:0;padding:0}.log{min-height:0;overflow-y:auto}.log__line{color:#fff;border-bottom:1px solid #ffffff14;margin:0;padding:3px 0;font-size:13px;line-height:1.35}.controls--idle{visibility:hidden}.prompt,.result{max-width:480px;max-height:85dvh;padding:16px 16px max(16px, env(safe-area-inset-bottom));box-sizing:border-box;background:var(--felt-dark);border-top:2px solid var(--accent);z-index:10;border-radius:16px 16px 0 0;flex-direction:column;gap:8px;margin:0 auto;display:flex;position:fixed;inset:auto 0 0;overflow:auto}.prompt.contract-sheet{border:2px solid var(--accent);z-index:5;border-radius:12px;grid-area:3/1/auto/-1;width:auto;max-width:none;min-height:0;max-height:none;margin:0;padding:10px 12px;position:relative;inset:auto;transform:none}.prompt p{margin:0;font-weight:600}.prompt__choices{gap:8px;display:flex}.prompt__choices button{flex:1;min-height:48px}.prompt__cancel{background:0 0}.result h2{margin:0}.result__table{border-collapse:collapse;width:100%;font-size:14px}.result__table th,.result__table td{text-align:right;border-bottom:1px solid #fff2;padding:4px}.result__table th[scope=row]{text-align:left}.result__cards{flex-wrap:wrap;margin-top:2px;display:flex}.scores__wrap{min-height:0;overflow:auto}.result-popup{max-height:min(680px, calc(100dvh - var(--popup-top,8px) - 12px));grid-template-rows:auto minmax(0,1fr) auto;gap:8px}.result-popup .log-popup__head{flex-wrap:wrap;row-gap:2px}.result-popup .log-popup__head h2{font-size:17px}.result-popup .scores__clock{flex-basis:100%;margin-left:0;font-size:13px}.result-popup__body{align-content:start;gap:6px;display:grid}.result-popup__body p{margin:0}.result-popup>button{border-radius:999px;min-height:46px}.scores__clock{font-variant-numeric:tabular-nums;color:var(--accent);margin-left:auto;font-size:14px}.scores__time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:11px;font-weight:400;display:block}.scores-popup{max-height:min(640px, calc(100dvh - var(--popup-top,8px) - 12px));grid-template-rows:auto minmax(0,1fr) auto}.scores__table thead th{white-space:nowrap;font-size:13px}.scores__table thead th:first-child{text-align:left}.scores__table th[scope=row]{font-size:13px;font-weight:500}.scores__table tfoot th,.scores__table tfoot td{border-bottom:none;font-weight:700}.scores__none{color:var(--muted);text-align:center!important}.scores__left{color:var(--muted);margin:0;font-size:13px}@media (orientation:portrait) and (height<=720px){:root{--card-w:46px;--card-h:64px;--big-w:48px;--big-h:68px;--small-w:38px;--small-h:54px;--raise:8px}.opponent{flex-flow:wrap;align-items:center;gap:2px 6px;padding:3px 6px}.card__rank{font-size:17px}.card__suit{font-size:18px}}@media (orientation:landscape) and (width>=640px){.table{max-width:1400px;padding:max(6px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));gap:4px 16px}.table__melds{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;gap:6px 12px;display:grid}.melds--empty{grid-column:1/-1}.hand-bar{width:100%;max-width:calc(16 * (var(--card-w) + var(--hand-gap)));margin-inline:auto}.hand{box-sizing:border-box;width:100%;min-width:0;padding-top:var(--raise);max-width:calc(16 * (var(--card-w) + var(--hand-gap)));flex-direction:row;flex:1;gap:0;margin-inline:auto}.hand__row{display:contents}.hand .hand__row{--item-gap:min(var(--hand-gap), calc(( 100% - var(--all-n) * var(--card-w) - var(--all-stacked) * var(--group-step) - var(--all-wide) * var(--group-space) ) / max(1, var(--all-n) - 1 - var(--all-wide))))}.hand__row+.hand__row>:first-child{margin-left:var(--item-gap)}.hand__row+.hand__row>.hand__group:first-child{margin-left:var(--group-space)}.hand__row:first-child>:first-child{margin-left:0}.contract-list{grid-template-columns:repeat(2,minmax(0,1fr))}.prompt,.result{border:2px solid var(--accent);border-radius:16px;width:min(560px,92vw);max-height:92dvh;padding-bottom:16px;inset:50% auto auto 50%;transform:translate(-50%,-50%)}}@media (orientation:landscape) and (height<=500px){:root{--card-w:38px;--card-h:54px;--small-w:34px;--small-h:48px;--big-w:40px;--big-h:56px;--raise:8px}.table{gap:4px 10px}.table__header{font-size:12px}.side__piles{gap:14px}.controls__main,.controls__undo{min-height:36px;font-size:13px}.sort-toggle{min-height:30px;font-size:12px}.table__hint{font-size:11px}.opponent__timer{height:3px;position:absolute;bottom:1px;left:8px;right:8px}.opponent__timer .countdown{width:100%;height:3px;margin-top:0}.dealer-chip,.opened-icon{width:20px;height:20px}.dealer-chip svg,.opened-icon svg{width:18px;height:18px}.opened-icon{top:-10px;right:16px}.table__scores{min-height:24px;padding:1px 8px;font-size:12px}.opponent{white-space:nowrap;flex-flow:row;align-items:center;gap:6px;padding:3px 40px 5px 8px;font-size:11px}.opponent__name{flex:none;overflow:visible}.countdown__text{font-size:11px;line-height:16px}.card__rank,.card__suit{font-size:15px}.card--small .card__rank,.card--small .card__suit{font-size:14px}.card--big .card__rank,.card--big .card__suit{font-size:18px}button{min-height:32px;padding:4px 10px}.contract-list button{min-height:28px;padding:3px 8px;font-size:12px}}@media (width>=700px) and (height>=650px){:root{--card-w:66px;--card-h:94px;--small-w:54px;--small-h:76px;--big-w:88px;--big-h:124px;--hand-gap:8px}.table{max-width:760px}.card__rank{font-size:23px}.card__suit{font-size:24px}.card--small .card__rank,.card--small .card__suit{font-size:21px}.card--big .card__rank{font-size:32px}.card--big .card__suit{font-size:34px}.pile__back{font-size:24px}.countdown__text{font-size:16px;line-height:28px}}@media (width>=700px) and (height>=650px) and (orientation:landscape){.table{max-width:1400px}}@media (width>=700px) and (height>=650px) and (orientation:portrait){:root{--big-w:72px;--big-h:101px}}.card--recent{border:2px solid var(--new);box-shadow:0 0 6px #38bdf8aa}.card--tiny{border-radius:4px;width:24px;height:34px;padding:1px 2px}.card--tiny .card__rank,.card--tiny .card__suit{font-size:11px}.card--tiny+.card--tiny{margin-left:-4px}.pile__back--ghost{width:var(--card-w);height:var(--card-h);border-width:2px}.flights{z-index:13;pointer-events:none;position:fixed;inset:0;overflow:hidden}.flight{will-change:transform, opacity;filter:drop-shadow(0 4px 6px #0007);position:fixed}.flight__back{box-sizing:border-box;background:repeating-linear-gradient(45deg,#1e3a8a,#1e3a8a 5px,#1d4ed8 5px 10px);border:2px solid #fff;border-radius:6px;position:absolute;inset:0}.contract-popup{z-index:15;border:2px solid var(--accent);text-align:center;background:#0f3f22f2;border-radius:14px;flex-direction:column;gap:6px;max-width:420px;margin:0 auto;padding:16px;animation:.25s ease-out popup-in;display:flex;position:fixed;inset:16% 16px auto;box-shadow:0 10px 30px #000a}.contract-popup__name{color:var(--accent);font-size:20px;font-weight:700}.contract-popup__tip{color:var(--muted);white-space:normal;font-size:13px;font-style:italic;font-weight:400}.contract-popup__rule{color:var(--ink);white-space:normal;font-size:15px;font-weight:400}@keyframes popup-in{0%{opacity:0;transform:scale(.92)}}@media (prefers-reduced-motion:reduce){.contract-popup{animation:none}}.menu h2{margin:0}.menu__note{color:var(--muted);text-align:center;margin:-4px 0 0;font-size:12px}.menu__hint{color:var(--muted);margin:-6px 0 0;font-size:12px}.menu__slider{flex-direction:column;gap:4px;font-size:14px;display:flex}.menu__slider input{width:100%;accent-color:var(--accent)}.menu__switch{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.menu__switch input{width:22px;height:22px;accent-color:var(--accent)}button.danger{background:#7f1d1d;border-color:#fca5a5}.scores__hand{min-height:0;color:var(--ink);text-align:left;white-space:normal;background:0 0;border:none;padding:2px 0;font-size:13px;font-weight:500;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}@media (orientation:portrait) and (height<=720px){:root{--big-w:44px;--big-h:63px}.controls__main,.controls__undo{min-height:40px}}.card--waiting{border:2px solid var(--new);box-shadow:0 0 6px #38bdf8aa}.away-banner{z-index:30;box-sizing:border-box;background:var(--felt-dark,#0f3d22);text-align:center;border:1px solid #ffffff4d;border-radius:16px;justify-items:center;gap:10px;width:min(320px,100% - 32px);padding:14px 16px;font-size:15px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 30px #0006}.away-banner button{border-radius:999px;min-height:44px;padding:0 22px}.scores__row--now th{color:var(--accent)}.scores__now{background:var(--accent);color:var(--felt-dark);text-transform:uppercase;border-radius:999px;margin-left:4px;padding:0 6px;font-size:10px;font-weight:800}.scores__row--later th,.scores__row--later td{opacity:.45}.pause-cover{z-index:29;background:#00000073;position:fixed;inset:0}.table:has(.pause-cover) .opponents{z-index:30;position:relative}.pause-banner h2{margin:0;font-size:20px}.pause-banner p{margin:0}.pause-banner__kept{color:var(--muted);font-size:14px}.pause-banner .prompt__choices{gap:8px;display:flex}.confetti{z-index:45;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti__piece{top:-24px;left:var(--x);width:var(--w);height:var(--h);opacity:0;animation:confetti-fall var(--fall) cubic-bezier(.25, .6, .5, 1) var(--delay) forwards;border-radius:2px;position:absolute}@keyframes confetti-fall{0%{opacity:1;transform:translate(0)rotate(0)}85%{opacity:1}to{opacity:0;transform:translate(var(--drift), 105dvh) rotate(var(--spin))}}.log-tabs{gap:4px;display:flex}.log-tabs__tab{min-height:32px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:999px;padding:0 12px;font-size:14px;font-weight:600}.log-tabs__tab--on{color:#fff;background:#ffffff1f;border-color:#ffffff59}.log-tabs__unread,.table__unread{box-sizing:border-box;background:var(--accent);min-width:18px;height:18px;color:var(--felt-dark);border-radius:999px;place-items:center;margin-left:6px;padding:0 5px;font-size:11px;font-weight:800;display:inline-grid}.log__time{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:6px;font-size:11px}.chat{grid-template-rows:minmax(0,1fr) auto;gap:8px;min-height:0;display:grid}.chat__lines{min-height:60px}.chat__name{min-height:0;color:var(--accent);font:inherit;background:0 0;border:none;margin-right:6px;padding:0;font-weight:700}.chat__line--mine .chat__name{color:#9be7b4}.chat__muted{color:var(--muted);font-style:italic}.chat__text{overflow-wrap:anywhere}.chat__form{align-items:center;gap:6px;display:flex}.chat__input{color:#fff;background:#00000040;border:1px solid #ffffff59;border-radius:999px;flex:1;min-width:0;min-height:40px;padding:0 12px;font-size:16px}.chat__left{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.chat__send{border-radius:999px;min-height:40px;padding:0 16px}.opponent__bubble{z-index:26;color:#102a1a;overflow-wrap:anywhere;pointer-events:none;background:#fff;border-radius:12px;width:max-content;max-width:min(220px,60vw);padding:6px 10px;font-size:13px;font-weight:600;line-height:1.3;animation:.2s ease-out bubble-in;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000059}.opponent__bubble:before{content:"";border:6px solid #0000;border-top:0;border-bottom-color:#fff;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.opponent:first-child .opponent__bubble{animation-name:bubble-in-edge;left:0;transform:none}.opponent:last-child .opponent__bubble{animation-name:bubble-in-edge;left:auto;right:0;transform:none}.opponent:first-child .opponent__bubble:before{left:24px}.opponent:last-child .opponent__bubble:before{left:auto;right:24px;transform:none}@keyframes bubble-in-edge{0%{opacity:0;transform:translateY(-4px)}}@keyframes bubble-in{0%{opacity:0;transform:translate(-50%,-4px)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{color:#fff;background:radial-gradient(120% 60% at 50% 0,#1d6b3b 0%,#0000 60%) fixed,radial-gradient(90% 50% at 100% 100%,#0b3a1f 0%,#0000 70%) fixed,#14532d;min-height:100dvh;margin:0}main{padding:16px}html{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,.room-code__value{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
