:root{--paper:#f7f6ef;--ink:#263b2d;--green:#214d38;--muted:#5b6753;--line:#e0e2d5;--coral:#cf7057;--yellow:#e0be67;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button{color:inherit}button svg,a svg{flex-shrink:0}a{color:inherit;text-decoration:none}button{background:0 0;border:0}input,select{border:1px solid var(--line);min-width:0;color:var(--ink);background:#fffdfa;border-radius:7px;outline:none;min-height:44px;padding:12px 13px}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px #2363461a}:focus-visible{outline-offset:3px;outline:3px solid #c27a21}button:focus:not(:focus-visible){outline:none}h1,h2,h3,p{margin:0}svg{vertical-align:middle}button{min-height:44px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{min-height:100vh}.sidebar{border-right:1px solid var(--line);z-index:20;background:#f2f0e7;flex-direction:column;width:236px;padding:35px 22px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 7px;display:flex}.brand-icon{background:var(--green);color:#fff4d8;border-radius:10px;place-items:center;width:41px;height:47px;padding-bottom:7px;font:700 39px Georgia;display:grid;position:relative;transform:rotate(-7deg)}.brand-icon span{color:var(--yellow);font-size:20px;position:absolute;top:2px;right:5px}.brand>span:last-child{letter-spacing:-2px;font-size:35px;font-weight:850;line-height:.9}.brand sup{vertical-align:top;letter-spacing:0;margin-left:3px;font-size:11px}.brand small{letter-spacing:1.5px;margin-top:10px;font-size:7px;font-weight:600;display:block}.sidebar-section-label{color:#909186;letter-spacing:1.9px;margin:51px 13px 15px;font-size:9px;font-weight:700}.sidebar nav{gap:6px;display:grid}.sidebar nav button{color:#646d63;text-align:left;white-space:nowrap;border-radius:7px;align-items:center;gap:11px;min-height:46px;padding:12px 13px;font-size:12px;font-weight:550;display:flex}.sidebar nav button.active{background:var(--green);color:#fff8e6;box-shadow:0 4px 9px #143e3210}.sidebar nav button:hover:not(.active){background:#e7e7db}.sidebar nav button>span:nth-child(2){flex:1}.nav-tag{letter-spacing:.7px;color:#62755a;border:1px solid #b9beae;border-radius:3px;padding:3px 4px;font-size:7px!important}.sidebar-invite{background:#e8e8d9;border:1px solid #dfdfcf;border-radius:8px;margin:52px 7px 20px;padding:24px 15px 20px;position:relative;overflow:hidden}.sidebar-invite h3{letter-spacing:-.7px;color:#2e4835;margin:34px 0 12px;font:italic 25px/1.16 Georgia}.sidebar-invite p{color:#7a7e6b;font-size:11px;line-height:1.8}.text-button{color:var(--green);justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0;font-size:12px;font-weight:650;display:inline-flex}.sidebar-invite .text-button{justify-content:flex-start;margin-top:9px;font-size:10px}.little-cards{display:flex;position:absolute;top:23px;left:18px}.little-cards i{background:#f7edd4;border:2px solid #e8e8d9;border-radius:3px;width:22px;height:31px;display:block;transform:rotate(-22deg)}.little-cards i:nth-child(2){background:#d78060;margin-left:-10px;transform:rotate(-3deg)}.little-cards i:nth-child(3){background:#d6b55b;margin-left:-10px;transform:rotate(18deg)}.sidebar-bottom{gap:1px;margin-top:auto;padding:20px 9px 0;display:grid}.sidebar-bottom button{color:#6d7469;text-align:left;align-items:center;gap:10px;padding:10px 0;font-size:11px;display:flex}.sidebar-bottom button span{flex:1}.version{border-top:1px solid var(--line);letter-spacing:1px;color:#919486;justify-content:space-between;margin-top:13px;padding-top:22px;font-size:8px;display:flex}.version span{letter-spacing:0}.main-shell{margin-left:236px}.topbar{border-bottom:1px solid var(--line);background:#faf9f4;justify-content:space-between;align-items:center;height:85px;padding:0 42px;display:flex}.breadcrumb{color:#999d90;align-items:center;gap:12px;font-size:11px;display:flex}.breadcrumb strong{color:#646c60;font-weight:500}.topbar-right{align-items:center;gap:23px;display:flex}.connection-badge{color:#57704d;white-space:nowrap;background:#f0f5eb;border:1px solid #dbe4d4;border-radius:5px;align-items:center;gap:7px;padding:7px 10px;font-size:10px;display:inline-flex}.connection-badge i,.live-dot,.footer-dot{background:#6e9757;border-radius:50%;width:5px;height:5px;display:inline-block}.connection-badge.offline{color:#916a35;background:#fbf0dd;border-color:#ebd6b6}.connection-badge.offline i{background:#c79840}.profile{align-items:center;gap:10px;display:flex}.profile>span{color:#7d6c41;background:#e7dfca;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;display:grid}.profile strong{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:11px;font-weight:550;overflow:hidden}main{max-width:1460px;margin:auto;padding:35px 42px 20px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.eyebrow{letter-spacing:1.8px;color:#8c907d;font-size:9px;font-weight:700}.page-heading h1{letter-spacing:-1.3px;margin:9px 0 10px;font-size:36px;font-weight:650;line-height:1.15}.heading-dot{color:var(--coral)}.page-heading p{color:var(--muted);font-size:12px;line-height:1.7}.button{white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:12px 19px;font-size:12px;font-weight:650;transition:background .15s,transform .15s;display:inline-flex}.button:not(:disabled):hover{transform:translateY(-1px)}.button.primary{background:var(--green);color:#fff8e9}.button.primary:not(:disabled):hover{background:#245c46}.button.dark{color:#fff9e8;background:#293e31}.button.outline{color:#385540;background:0 0;border-color:#ced4c4}.button.outline:not(:disabled):hover{background:#e9ecdf}.button.small{min-height:40px;padding:9px 13px;font-size:11px}.button.full{width:100%}.icon-button{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.icon-button:hover{background:#e7e9de}.welcome-banner{color:#f8f1da;isolation:isolate;background:#173f32;border-radius:9px;min-height:255px;display:flex;position:relative;overflow:hidden}.welcome-banner:before{content:"";opacity:.05;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.5' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.banner-copy{z-index:2;width:53%;padding:27px 34px}.banner-label{letter-spacing:1.5px;color:#c8cfad;align-items:center;gap:7px;font-size:7px;display:flex}.live-dot{background:#d3bb74;width:4px;height:4px}.banner-copy h2{letter-spacing:-.7px;margin-top:18px;font-size:33px;font-weight:500;line-height:1.06}.banner-copy h2 em{color:#ecd69b;font-family:Georgia;font-weight:400}.banner-copy p{color:#bac8b1;margin-top:12px;font-size:10px;line-height:1.8}.banner-link{color:#d9dfc8;align-items:center;gap:8px;min-height:30px;margin-top:10px;padding:0;font-size:9px;font-weight:500;display:flex}.banner-art{flex:1;min-width:280px;position:relative}.mini-card{color:#fff4db;isolation:isolate;background:#cf5945;border:6px solid #f5eddb;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:108px;height:156px;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 12px 20px #0003}.mini-card:before{content:"";z-index:-1;border:2px solid #fff1d8aa;border-radius:50%;width:75%;height:83%;position:absolute;transform:rotate(29deg)}.mini-card>span{font-size:15px;font-weight:700;position:absolute;top:5px;left:7px}.mini-card strong{font-size:60px;font-weight:750;line-height:1;transform:rotate(-8deg)}.mini-card i{letter-spacing:1px;font-size:6px;font-style:normal;position:absolute;bottom:8px;right:6px}.mini-card.red,.hand-card.red,.color-dot.red,.color-picker .red{background:#d65e4c}.mini-card.blue,.hand-card.blue,.color-dot.blue,.color-picker .blue{background:#3a7b9e}.mini-card.yellow,.hand-card.yellow,.color-dot.yellow,.color-picker .yellow{color:#2f362b;background:#dcae45}.mini-card.green,.hand-card.green,.color-dot.green,.color-picker .green{background:#34775b}.hand-card.wild{background:#333b48}.banner-art>.mini-card{position:absolute;top:54%;left:40%;transform:translate(-50%,-50%)rotate(-26deg)}.banner-art>.mini-card:nth-of-type(4){top:49%;left:55%;transform:translate(-50%,-50%)rotate(-4deg)}.banner-art>.mini-card:nth-of-type(5){top:56%;left:71%;transform:translate(-50%,-50%)rotate(21deg)}.orbit{border:1px solid #ffffff10;border-radius:50%;width:260px;height:260px;position:absolute;top:55%;left:53%;transform:translate(-50%,-50%)}.orbit-two{width:350px;height:350px}.art-star{color:#e7ce88;font-size:24px;position:absolute}.star-one{top:20%;left:20%}.star-two{font-size:38px;top:66%;right:8%}.art-caption{letter-spacing:2px;color:#a9bfa7;white-space:nowrap;font-size:6px;position:absolute;bottom:17px;left:34%;transform:rotate(-3deg)}.banner-number{letter-spacing:1.1px;color:#a7ba9d;font-size:6px;position:absolute;top:16px;right:15px}.join-strip{background:#eeeee2;border:1px solid #dfdfd1;border-radius:7px;justify-content:space-between;align-items:center;gap:18px;margin:18px 0 35px;padding:15px 20px;display:flex}.join-strip-label{align-items:center;gap:13px;display:flex}.round-icon{color:#687956;border:1px solid #c9cfb9;border-radius:50%;flex-shrink:0;place-items:center;width:33px;height:33px;display:grid}.join-strip-label strong{font-size:11px;font-weight:600;display:block}.join-strip-label div>span{color:var(--muted);margin-top:5px;font-size:9px;display:block}.join-strip form{flex-shrink:0;align-items:center;gap:8px;display:flex}.join-strip input{letter-spacing:1px;background:#f8f8ef;border-color:#d7dacb;width:184px;min-height:39px;font-size:9px}.join-strip .button{min-height:40px;padding:9px 14px;font-size:10px}.room-section-heading{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.room-section-heading h2{letter-spacing:-.4px;align-items:center;gap:9px;font-size:18px;font-weight:650;display:flex}.room-section-heading p{color:var(--muted);margin-top:8px;font-size:10px}.count{color:#587547;letter-spacing:0;background:#e7eadc;border-radius:4px;place-items:center;min-width:23px;height:21px;font-size:9px;display:inline-grid}.refresh{color:#747f6a;border:1px solid #dcded3;width:34px;height:34px;min-height:34px}.room-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px;padding-bottom:15px;display:flex}.network-tabs{flex-shrink:0;align-items:center;gap:5px;display:flex}.network-tabs button{color:#808776;border-radius:5px;justify-content:center;align-items:center;gap:8px;min-height:37px;padding:9px 12px;font-size:10px;font-weight:500;display:flex}.network-tabs button.selected{color:#31583e;background:#e3e9da;font-weight:650}.room-filters{align-items:center;gap:9px;display:flex}.search-field{color:#919987;background:#faf9f4;border:1px solid #dcded4;border-radius:5px;align-items:center;padding:0 10px;display:flex}.search-field input{max-width:175px;min-height:37px;box-shadow:none;background:0 0;border:0;padding:8px;font-size:9px}.room-filters>select{color:#6f7868;background:#faf9f4;border-color:#dcded4;min-height:37px;padding:8px 9px;font-size:9px}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.room-tile{background:#fbfaf5;border:1px solid #dddfd3;border-radius:8px;transition:box-shadow .2s,transform .2s;overflow:hidden}.room-tile:hover{transform:translateY(-2px);box-shadow:0 8px 24px #243a2710}.room-tile-top{color:#8d967f;justify-content:space-between;align-items:center;padding:16px 17px 0;display:flex}.room-status{color:#6b8157;align-items:center;gap:5px;font-size:8px;display:flex}.room-status i{background:#80a164;border-radius:50%;width:4px;height:4px}.room-status.playing i{background:#cfaa60}.room-tile-title{align-items:center;gap:11px;padding:20px 17px;display:flex}.room-symbol{color:#6c8052;background:#e8ebdd;border-radius:6px;flex-shrink:0;place-items:center;width:37px;height:42px;font:italic 700 26px Georgia;display:grid;transform:rotate(-7deg)}.room-tile:nth-child(3n+2) .room-symbol{color:#a1833e;background:#ece3ce}.room-tile:nth-child(3n+3) .room-symbol{color:#ad7964;background:#e8dfd7}.room-tile-title h3{overflow-wrap:anywhere;font-size:14px;font-weight:650}.room-tile-title p{color:#929787;margin-top:6px;font-size:9px}.room-tile-details{color:#8b927e;flex-wrap:wrap;align-items:center;gap:10px;padding:0 17px 17px;font-size:8px;display:flex}.room-tile-details span:first-child{color:#5d6f50;align-items:center;gap:4px;display:flex}.room-tile-details span+span{border-left:1px solid #dbdfd1;padding-left:10px}.room-tile-bottom{border-top:1px solid #e9eadf;justify-content:space-between;align-items:center;padding:5px 17px;display:flex}.room-tile-bottom>span{letter-spacing:1px;color:#929a84;font:10px ui-monospace,monospace}.join-room-button{color:#3d6042;align-items:center;gap:7px;min-height:38px;padding:0;font-size:10px;font-weight:650;display:flex}.server-label{color:#7b8972;align-items:center;gap:6px;margin:0 17px 13px;font-size:9px;display:flex}.empty-state{text-align:center;color:#6d7e62;background:#faf9f250;border:1px dashed #d6d9cb;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;min-height:218px;padding:24px 15px;display:flex}.empty-state h3{color:#42563b;margin-top:13px;font-size:16px;font-weight:550}.empty-state p{color:#8a927c;max-width:390px;margin:9px 0 14px;font-size:10px;line-height:1.8}.empty-state .button{min-height:38px;padding:8px 13px;font-size:10px}.empty-cards{height:74px;margin-bottom:0;padding-top:5px;display:flex}.mini-card.small{width:43px;height:62px;box-shadow:none;border-width:3px;border-radius:5px}.mini-card.small strong{font-size:24px}.mini-card.small>span{font-size:7px;top:2px;left:2px}.mini-card.small i{font-size:3px;bottom:3px;right:3px}.empty-cards .mini-card:first-child{transform:rotate(-16deg)}.empty-cards .mini-card:last-child{margin-top:5px;margin-left:-13px;transform:rotate(13deg)}.dashboard-footer{border-top:1px solid var(--line);color:#989c8c;justify-content:space-between;align-items:center;gap:16px;margin-top:31px;padding-top:18px;font-size:8px;display:flex}.dashboard-footer>span:first-child{align-items:center;gap:6px;display:flex}.dashboard-footer button{align-items:center;gap:6px;min-height:30px;font-size:8px;display:flex}.footer-dot{background:#9bac87;width:4px;height:4px}.notice{color:#785e29;background:#fff1d6;border:1px solid #ecd7a9;border-radius:7px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;padding:12px 16px;font-size:12px;line-height:1.6;display:flex}.notice>div{align-items:center;gap:10px;display:flex}.notice .icon-button{width:30px;height:30px;min-height:30px}.inline-error{color:#9b4f3d;background:#f9eae0;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:15px;font-size:11px;display:flex}.discovery-status{color:#8b8054;align-items:center;gap:8px;margin-bottom:17px;font-size:10px;line-height:1.7;display:flex}.pagination{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.spinning svg,.spinning:not(button){animation:1.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}dialog{color:var(--ink);background:#faf8ef;border:1px solid #d4d8c8;border-radius:13px;width:min(480px,100% - 28px);max-height:90dvh;padding:27px;box-shadow:0 24px 100px #10261f44}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#122f24aa}.dialog-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:24px;display:flex}.dialog-head h2{letter-spacing:-.8px;margin-top:7px;font-size:26px;font-weight:550}.dialog-head .eyebrow{font-size:8px}.dialog-head .icon-button{margin-top:-7px;margin-right:-8px}.room-form{gap:17px;display:grid}.room-form label,.share-content label{gap:8px;font-size:11px;font-weight:550;display:grid}.room-form input:not([type=checkbox]),.room-form select,.share-content select{background:#fffdf7;width:100%;font-size:12px}.room-form small{color:var(--muted);font-size:10px;font-weight:400;line-height:1.6}.form-row{gap:13px;display:flex}.form-row>*{flex:1}.form-note{color:#5a724b;background:#e9eedf;border-radius:5px;align-items:flex-start;gap:9px;padding:12px;font-size:10px;line-height:1.8;display:flex}.form-note svg{flex-shrink:0;margin-top:2px}.form-error{color:#ad5440;font-size:11px;line-height:1.7}.code-input{text-transform:uppercase;letter-spacing:3px;font-family:ui-monospace,monospace!important}.help-content{color:#5e6d55;gap:20px;font-size:12px;line-height:1.9;display:grid}.help-content strong{color:#354d34;font-weight:650}.help-content ul,.help-content ol{margin:0;padding-left:20px}.help-content li+li{margin-top:10px}.help-cards{align-items:center;gap:18px;display:flex}.help-cards>span:last-child{font-size:11px;line-height:1.8}.help-cards strong{margin-bottom:4px;display:block}.muted{color:#8b927d;font-size:10px;line-height:1.8}.share-content{text-align:center;gap:15px;display:grid}.share-content input{width:100%;font-size:11px}.share-content p{color:#7d896c;font-size:11px;line-height:1.7}.qr-code{border:1px solid var(--line);border-radius:10px;max-width:100%;height:auto;margin:auto;display:block}.share-code{letter-spacing:3px;font:23px ui-monospace,monospace}.share-content label{text-align:left}.install-illustration{color:#849b69;justify-content:center;padding:10px;display:flex;position:relative}.install-illustration .brand-icon{font-size:32px;position:absolute;top:14px;transform:scale(.65)}.setting-toggle{justify-content:space-between;align-items:center;gap:15px;padding:10px 0;display:flex!important}.setting-toggle small{margin-top:5px;display:block}.setting-toggle input{width:19px;height:19px;accent-color:var(--green)}.room-settings{border-top:1px solid var(--line);padding-top:17px}.room-settings h3{font-size:14px}.room-heading p{flex-wrap:wrap;align-items:center;gap:13px;display:flex}.room-id{letter-spacing:1px;color:#527044;background:#e4e9da;border:1px solid #d2dcc6;border-radius:4px;padding:4px 8px;font:11px ui-monospace,monospace}.heading-actions{align-items:center;gap:10px;display:flex}.leave{color:#9e6c53}.lobby-layout{grid-template-columns:1fr 260px;gap:24px;display:grid}.lobby-board{border:1px solid var(--line);background:#fcfbf4;border-radius:9px;padding:24px}.section-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-top h2{font-size:17px;font-weight:600}.section-top>span{color:var(--muted);font-size:10px}.seat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:25px;display:grid}.seat{text-align:center;background:#f0f2e6;border:1px solid #d9dfcd;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:170px;padding:27px 12px 20px;display:flex;position:relative}.avatar{color:#88713c;background:#e4d6af;border-radius:50%;flex-shrink:0;place-items:center;width:43px;height:43px;font-size:18px;font-weight:600;display:inline-grid}.avatar-1{color:#965d47;background:#e9cbbd}.avatar-2{color:#517f96;background:#c6d6e1}.avatar-3{color:#678348;background:#cdddbd}.seat>strong{overflow-wrap:anywhere;max-width:100%;margin-top:12px;font-size:13px}.seat>strong small{color:#8d947d;font-size:10px;font-weight:400}.seat-status{color:#a0a38b;align-items:center;gap:5px;margin-top:9px;font-size:9px;display:inline-flex}.host-badge{color:#8d783a;align-items:center;gap:4px;font-size:8px;display:flex;position:absolute;top:10px;left:10px}.kick-button{color:#9e8b78;width:33px;min-height:33px;position:absolute;top:3px;right:5px}.empty-seat{background:0 0;border:1px dashed #d8dcca}.empty-seat>strong{color:#b0b49f;font-size:12px;font-weight:400}.empty-seat-icon{color:#b0bba3;border:1px dashed #d6dcca;border-radius:50%;place-items:center;width:43px;height:43px;display:grid}.lobby-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:25px;display:flex}.lobby-hint{text-align:center;color:#8d967c;margin-top:15px;font-size:10px;line-height:1.7}.rules-panel{color:#637555;background:#e8ebdd;border:1px solid #d8decb;border-radius:9px;align-self:start;padding:25px 22px}.rules-panel h2{letter-spacing:-.4px;color:#455b36;margin-top:20px;font:italic 26px/1.2 Georgia}.rules-panel p{margin:14px 0;font-size:11px;line-height:1.8}.rules-panel ul{gap:13px;margin:25px 0 14px;padding:0;font-size:10px;list-style:none;display:grid}.rules-panel li:before{content:"✓";color:#83985b;margin-right:8px}.rules-panel .button{width:100%;margin-top:15px}.game-board{color:#e4e8cf;background:#143e32;border:1px solid #335c42;border-radius:10px;position:relative;overflow:hidden}.game-board-top{z-index:2;border-bottom:1px solid #ffffff15;justify-content:space-between;align-items:center;gap:15px;padding:17px 22px;font-size:11px;display:flex;position:relative}.game-board-top>span:first-child{align-items:center;gap:8px;display:flex}.color-dot{border:1px solid #fff7;border-radius:50%;width:10px;height:10px;display:inline-block}.direction{color:#a3b991;font-size:20px}.game-turn{color:#f4dfa4;text-align:center;flex:1;font-weight:600}.timer{text-align:center;background:#ffffff0c;border:1px solid #ffffff20;border-radius:4px;min-width:45px;padding:7px 10px;font:14px ui-monospace,monospace}.table-canvas{width:100%;height:345px;position:relative}.table-canvas canvas{touch-action:pan-y;width:100%;height:100%;display:block}.canvas-fallback{background:#174532;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex;position:absolute;inset:0}.canvas-fallback small{font-size:10px}.opponents{z-index:2;pointer-events:none;justify-content:space-evenly;gap:10px;display:flex;position:absolute;top:76px;left:20px;right:20px}.opponents>span{text-align:center;border-radius:5px;place-items:center;gap:4px;min-width:0;max-width:100px;padding:7px;display:grid}.opponents>span.current{background:#ffffff0c;outline:1px solid #e3ca7e77}.opponents .avatar{width:28px;height:28px;font-size:11px}.opponents strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;overflow:hidden}.opponents small{color:#98b194;font-size:7px}.last-action{color:#afc39e;text-align:center;background:#0000000d;min-height:42px;padding:13px 15px;font-size:10px;line-height:1.6}.table-watermark{letter-spacing:4px;color:#99b49144;pointer-events:none;font-size:7px;position:absolute;top:61%;left:50%;transform:translate(-50%,-50%)}.hand-panel{border:1px solid var(--line);background:#fbfaf3;border-radius:8px;margin-top:21px;padding:19px 21px}.hand-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.hand-heading h2{font-size:14px;font-weight:550}.hand-heading h2 span{color:#a2a78d;margin-left:7px;font-size:10px}.hand-heading>span{color:#9ca58c;font-size:9px}.hand-list{scrollbar-width:thin;gap:9px;padding:16px 3px 20px;display:flex;overflow:auto hidden}.hand-card{color:#fff6df;isolation:isolate;background:#d45b48;border:3px solid #f6f0de;border-radius:7px;outline:1px solid #acb19f55;flex-shrink:0;justify-content:center;align-items:center;width:64px;min-width:64px;height:94px;transition:transform .15s;display:flex;position:relative;box-shadow:0 2px 4px #173b2917}.hand-card:before{content:"";z-index:-1;border:1px solid #fff9;border-radius:50%;width:73%;height:80%;position:absolute;transform:rotate(29deg)}.hand-card.selected{outline-offset:3px;outline:2px solid #183f30;transform:translateY(-5px)}.hand-card:not(.legal){filter:saturate(.6)}.hand-card:disabled{opacity:.75}.hand-card small{font-size:8px;font-weight:700;position:absolute;top:3px;left:3px}.hand-card strong{font-size:32px}.hand-card>span{text-align:center;font-size:6px;font-weight:600;position:absolute;bottom:4px;left:0;right:0}.game-controls{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:14px;display:flex}.game-action-buttons{gap:8px;margin-left:auto;display:flex}.game-action-buttons .button{padding:10px 13px;font-size:11px}.uno-toggle{cursor:pointer;align-items:center;gap:8px;min-height:44px;display:flex}.uno-toggle input{accent-color:#d15a46;flex-shrink:0;width:17px;height:17px;min-height:17px}.uno-toggle>span{letter-spacing:-.5px;color:#a74836;font-size:15px;font-weight:800}.uno-toggle small{color:#9ba087;max-width:125px;font-size:8px;line-height:1.6}.color-picker{border:0;gap:5px;margin:0;padding:0;display:flex}.color-picker legend{color:#7c8a6f;margin-bottom:6px;font-size:9px}.color-picker button{color:#fff5df;border-radius:4px;place-items:center;width:38px;min-height:38px;display:grid}.color-picker button.chosen{outline-offset:2px;outline:2px solid #153d2c}.color-picker button span{font-size:10px}.results{background:#e7ead9;border:1px solid #d0d8bb;border-radius:8px;align-items:center;gap:20px;margin-top:22px;padding:24px;display:flex}.results>span{color:#b49745;font-size:38px}.results h2{font-size:18px;font-weight:600}.results p{color:#8b9376;margin-top:7px;font-size:11px;line-height:1.7}.results .button{margin-left:auto}.mobile-install{display:none}.sidebar-section-label,.nav-tag,.sidebar-invite p,.sidebar-bottom button,.version,.breadcrumb,.eyebrow,.network-tabs button,.room-filters>select,.empty-state p,.dashboard-footer,.room-tile-title p,.room-tile-details,.room-tile-bottom>span,.server-label,.section-top>span,.seat-status,.lobby-hint,.hand-heading>span,.hand-heading h2 span,.uno-toggle small,.muted,.room-form small,.share-content p{color:#5b6753}.sidebar nav button.active,.network-tabs button.selected{color:#fff8e6}.network-tabs button.selected{color:#31583e}.rules-panel,.rules-panel p{color:#4e6241}.sidebar-invite .text-button{color:#214d38}.empty-seat>strong{color:#637156}.search-field input::placeholder,.join-strip input::placeholder{color:#65705a;opacity:1}.room-status{color:#526b40}.room-status.playing{color:#805b1e}.host-badge{color:#796127}.seat-status.ready{color:#3e6d30}.seat>strong small{color:#5b6753}.form-note{color:#4d663f}.hand-card.red{background:#b94333}.hand-card.blue{background:#24658b}.hand-card.green{background:#276447}@media (width<=700px){.mobile-install{width:32px;height:44px;display:inline-flex}.topbar-right{gap:5px}}@media (width>=1600px){main{padding-top:42px}.welcome-banner{min-height:300px}.banner-copy{padding:36px 42px}.banner-copy h2{font-size:40px}.banner-art .mini-card{width:125px;height:182px}.join-strip{margin-bottom:40px}.room-grid{gap:22px}.table-canvas{height:420px}}@media (width<=1190px){.sidebar{width:207px;padding-left:16px;padding-right:16px}.main-shell{margin-left:207px}main{padding-left:27px;padding-right:27px}.topbar{padding:0 27px}.banner-copy{padding-left:25px}.banner-art{min-width:220px}.banner-art>.mini-card{width:90px;height:135px}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lobby-layout{grid-template-columns:1fr 220px;gap:18px}.join-strip{padding:13px 15px}.join-strip-label{gap:9px}.join-strip-label strong{font-size:10px}.join-strip input{width:155px}.room-filters .search-field input{max-width:140px}.room-filters>select{max-width:110px}.sidebar-invite{margin-top:36px}.topbar-right{gap:12px}.room-toolbar{align-items:flex-start}.network-tabs button{padding:9px;font-size:9px}}@media (width<=950px){.sidebar{align-items:center;width:76px;padding:27px 9px}.brand{padding:0}.brand>span:last-child,.sidebar-section-label,.sidebar nav button>span,.sidebar nav button>svg:last-child,.sidebar-invite,.sidebar-bottom button>span,.sidebar-bottom button>svg:last-child,.version{display:none}.sidebar nav{gap:11px;width:100%;margin-top:42px}.sidebar nav button{justify-content:center;padding:13px}.sidebar nav button>svg:first-child{display:block}.sidebar-bottom{width:100%;padding:0}.sidebar-bottom button{justify-content:center}.main-shell{margin-left:76px}.lobby-layout{grid-template-columns:1fr 220px}.room-toolbar{flex-wrap:wrap}.room-filters{flex:1;justify-content:flex-end}.banner-art{min-width:240px}}@media (width<=700px){.sidebar{width:100%;height:64px;padding:6px 12px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:calc(64px + env(safe-area-inset-bottom));background:#faf9f3f5;border-right:0;flex-direction:row;justify-content:center;position:fixed;inset:auto 0 0}.sidebar>.brand,.sidebar-bottom{display:none}.sidebar nav{justify-content:space-evenly;gap:6px;width:100%;margin:0;display:flex}.sidebar nav button{flex-direction:column;gap:4px;min-height:48px;padding:6px 14px;font-size:8px}.sidebar nav button>span:nth-child(2){flex:initial;display:block}.sidebar nav button>svg:last-child,.sidebar nav button>.nav-tag{display:none}.sidebar nav button.active{color:#345b3b;box-shadow:none;background:#e5ebdd}.main-shell{margin-left:0}.topbar{height:67px;padding:0 19px}.breadcrumb{gap:6px;font-size:9px}.breadcrumb>strong{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.topbar-right{gap:9px}.profile strong{display:none}.profile{padding:0}.profile>span{width:29px;height:29px}.connection-badge{gap:5px;padding:6px 7px;font-size:8px}main{padding:25px 18px calc(90px + env(safe-area-inset-bottom))}.page-heading{gap:10px;margin-bottom:21px}.eyebrow{letter-spacing:1.5px;font-size:7px}.page-heading h1{letter-spacing:-1px;margin-top:8px;margin-bottom:8px;font-size:28px}.page-heading p{font-size:10px;line-height:1.8}.page-heading>.button{gap:6px;padding:10px 12px;font-size:10px}.welcome-banner{min-height:220px}.banner-copy{width:57%;padding:23px 18px 17px}.banner-label{letter-spacing:.65px;white-space:nowrap;gap:4px;font-size:5px}.banner-copy h2{margin-top:18px;font-size:29px;line-height:1.07}.banner-copy p{margin-top:13px;font-size:8px;line-height:1.9}.banner-link{white-space:nowrap;gap:4px;margin-top:12px;font-size:7px}.banner-link svg{width:12px}.banner-art{flex:initial;width:43%;min-width:0}.banner-art>.mini-card{border-width:4px;border-radius:6px;width:66px;height:98px;top:53%;left:16%}.banner-art>.mini-card:nth-of-type(4){top:48%;left:42%}.banner-art>.mini-card:nth-of-type(5){top:57%;left:70%}.mini-card strong{font-size:42px}.mini-card>span{font-size:9px;top:4px;left:4px}.mini-card i{font-size:4px;bottom:6px;right:4px}.orbit{width:180px;height:180px;top:52%;left:48%}.orbit-two{width:250px;height:250px}.star-one{font-size:19px;top:20%;left:7%}.star-two{font-size:24px;top:76%;right:6%}.art-caption{display:none}.banner-number{letter-spacing:.6px;font-size:4px;top:12px;right:10px}.join-strip{flex-direction:column;align-items:stretch;gap:13px;margin-top:14px;margin-bottom:28px;padding:15px}.join-strip-label strong{font-size:11px}.join-strip-label div>span{font-size:9px}.round-icon{width:29px;height:29px}.join-strip form{gap:8px;width:100%}.join-strip input{flex:1;width:100%;min-height:44px;font-size:10px}.join-strip .button{min-height:44px;padding:10px 15px}.room-section-heading{margin-bottom:17px}.room-section-heading h2{font-size:17px}.room-section-heading p{max-width:260px;font-size:9px;line-height:1.8}.refresh{width:40px;height:40px;min-height:40px}.room-toolbar{gap:13px;margin-bottom:16px;padding-bottom:15px}.network-tabs{gap:7px;width:100%}.network-tabs button{flex:1;min-height:44px;padding:10px 14px;font-size:10px}.room-filters{gap:8px;width:100%}.search-field{flex:1}.room-filters .search-field input{width:100%;max-width:none;min-height:44px;font-size:10px}.room-filters>select{max-width:121px;min-height:44px;padding:8px;font-size:10px}.room-grid{grid-template-columns:1fr;gap:13px}.room-tile-top{padding:15px 17px 0}.room-status{font-size:9px}.room-tile-title h3{font-size:16px}.room-tile-title p{font-size:10px}.room-tile-details{font-size:9px}.room-tile-bottom>span{font-size:11px}.join-room-button{min-height:44px;font-size:11px}.room-tile-title{padding-top:18px;padding-bottom:18px}.dashboard-footer{flex-wrap:wrap;gap:7px;margin-top:24px;padding-top:12px;font-size:7px}.dashboard-footer>span:last-child{display:none}.dashboard-footer button{min-height:44px;font-size:8px}.empty-state{min-height:243px;padding:25px 15px}.empty-state h3{font-size:15px}.empty-state p{max-width:290px;font-size:10px}.empty-state .button{min-height:44px}.notice{gap:8px;padding:12px;font-size:11px}.notice .text-button{font-size:10px}.notice>div{gap:3px}.inline-error{font-size:10px}.lobby-layout{grid-template-columns:1fr;gap:17px}.lobby-board{padding:19px 15px}.section-top h2{font-size:15px}.seat-grid{gap:10px;margin-top:21px}.seat{min-height:160px;padding:24px 8px 17px}.seat>strong{font-size:12px}.seat-status{font-size:9px}.rules-panel{padding:20px}.rules-panel>svg{float:left;margin-right:12px}.rules-panel h2{margin:0;font-size:25px}.rules-panel ul{gap:10px;margin-top:20px}.rules-panel p{margin-top:12px}.rules-panel .button{width:auto;margin-left:15px}.room-heading{flex-wrap:wrap;align-items:flex-start}.room-heading h1{overflow-wrap:anywhere}.heading-actions{margin-left:auto}.heading-actions .button{min-height:44px;padding:9px 11px;font-size:10px}.room-heading p{gap:9px;font-size:9px}.room-id{font-size:10px}.game-board-top{gap:8px;min-height:60px;padding:10px 12px;font-size:8px}.game-board-top .direction{font-size:16px}.game-turn{font-size:9px}.timer{min-width:34px;padding:7px;font-size:11px}.opponents{gap:1px;top:65px;left:5px;right:5px}.opponents>span{gap:3px;max-width:70px;padding:5px}.opponents .avatar{width:24px;height:24px;font-size:9px}.opponents strong{font-size:7px}.opponents small{font-size:6px}.table-canvas{height:315px}.table-watermark{letter-spacing:2px;font-size:5px}.last-action{min-height:42px;padding:12px;font-size:9px}.hand-panel{margin-top:15px;padding:17px 13px}.hand-heading h2{font-size:13px}.hand-heading>span{font-size:8px}.hand-list{gap:8px;padding-top:17px}.hand-card{width:59px;min-width:59px;height:87px}.hand-card strong{font-size:30px}.game-controls{gap:12px;padding-top:12px}.uno-toggle{flex:1}.uno-toggle small{max-width:155px}.game-action-buttons{justify-content:flex-end;gap:7px;width:100%}.game-action-buttons .button{flex:1;min-height:44px;padding:10px;font-size:11px}.results{flex-wrap:wrap;gap:13px;padding:19px 15px}.results h2{font-size:17px}.results p{font-size:10px}.results>.button{width:100%;margin-left:0}.results>span{font-size:30px}dialog{max-height:88dvh;padding:22px}.dialog-head h2{font-size:24px}.dialog-head .eyebrow{font-size:7px}.room-form{gap:16px}.help-content{font-size:11px}.help-cards>span:last-child{font-size:10px}.help-content .mini-card.small strong{font-size:23px}.mini-card.small>span{font-size:7px}.mini-card.small i{font-size:3px}.discovery-status{align-items:flex-start;font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.lobby-bot-mode{border:1px solid var(--line);background:#f0f2e6;border-radius:7px;margin-top:22px;padding:16px}.lobby-bot-mode label{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.lobby-bot-mode select{max-width:100%;font-size:12px}.lobby-bot-mode p{color:var(--muted);margin-top:9px;font-size:11px;line-height:1.7}.lobby-bot-mode>p:first-child{margin-top:0}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{transition-duration:.01ms!important;animation-duration:.01ms!important}.at-table{color:#f7efda;--table-muted:#c4d2c3;background:radial-gradient(at 50% 38%,#245747,#102c25 85%);height:100dvh;min-height:0;overflow:hidden}.at-table .sidebar,.at-table .topbar{display:none}.at-table .main-shell{height:100%;margin:0}.at-table main{height:100%;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);flex-direction:column;max-width:none;min-height:0;margin:0;display:flex;position:relative}.at-table main>.notice{color:#263b2d;flex-shrink:0;max-height:18dvh;margin:5px 12px;padding:8px 12px;font-size:12px;overflow:auto}.at-table .room-heading{border-bottom:1px solid #e6d7b01a;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:24px;min-height:70px;margin:0;padding:10px 28px;display:flex}.game-wordmark{letter-spacing:-2px;color:#f4db9c;font:italic 700 34px/.8 Georgia,serif}.game-wordmark small{letter-spacing:1.7px;margin-top:10px;font:7px/1 sans-serif;display:block}.at-table .room-heading>div:first-of-type{min-width:0}.at-table .room-heading .eyebrow,.at-table .room-heading .heading-dot,.at-table .room-preset{display:none}.at-table .room-heading h1{letter-spacing:0;color:#f7efda;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;line-height:1.3;overflow:hidden}.at-table .room-heading p{color:var(--table-muted);gap:8px;margin-top:4px;font-size:10px}.at-table .room-id{color:var(--table-muted);letter-spacing:1px;background:0 0;border:0;padding:0;font-size:10px}.at-table .heading-actions{flex-shrink:0;gap:5px;margin-left:auto;display:flex}.at-table .heading-actions .icon-button,.at-table .heading-actions .button{color:#eee5cc;background:#ffffff06;border:1px solid #e6d7b026;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid}.at-table .heading-actions .button>span{display:none}.at-table .heading-actions button:hover{background:#ffffff12}.at-table .heading-actions .button:not(:disabled):hover{background:#ffffff12;transform:none}.at-table .heading-actions .connection-badge{color:var(--table-muted);background:0 0;border:0;margin-right:12px;font-size:10px}.at-table .game-board{background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.at-table .game-board-top{border:0;flex-shrink:0;gap:12px;width:min(100%,640px);min-height:48px;margin:0 auto;padding:8px 22px 3px;font-size:11px}.at-table .game-board-top>span:first-child{color:var(--table-muted);white-space:nowrap;flex:1}.at-table .game-turn{color:#d1ddcf;white-space:nowrap;text-overflow:ellipsis;flex:1.4;font-size:13px;overflow:hidden}.at-table .your-turn .game-turn{color:#ffe2a0}.at-table .timer{color:#f8dfab;background:#071e184d;border:1px solid #d9cda233;border-radius:20px;min-width:50px;font-size:13px}.at-table .table-canvas{--pile-width:64px;--pile-gap:18px;flex:1;width:100%;height:auto;min-height:0;position:relative}.at-table .table-canvas canvas{touch-action:manipulation;position:absolute;inset:0}.at-table .active-color-glow{opacity:.72;pointer-events:none;border:2px solid;border-radius:50%;width:calc(min(97%,1380px) - 24px);height:calc(96% - 24px);transition:color .32s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 10px,0 0 26px,inset 0 0 12px,inset 0 0 44px}.at-table .active-color-glow[data-color=red]{color:#ff6f61}.at-table .active-color-glow[data-color=yellow]{color:#ffd964}.at-table .active-color-glow[data-color=green]{color:#5cf2a6}.at-table .active-color-glow[data-color=blue]{color:#62c4ff}.at-table .without-webgl .active-color-glow{border-radius:45%;width:auto;height:auto;inset:0;transform:none}.at-table .opponents{z-index:3;display:block;inset:0}.at-table .opponents>span{border-radius:0;gap:5px;width:112px;max-width:112px;padding:0;position:absolute;transform:translate(-50%,-50%)}.at-table .opponents>span.current{background:0 0;outline:none}.at-table .opponents .avatar{border:3px solid #eadbbd;width:44px;height:44px;font-size:16px;box-shadow:0 4px 10px #061a184d}.at-table .opponents .current .avatar{outline-offset:4px;outline:2px solid #f5cf78}.at-table .opponents strong{color:#fff1d6;background:#0b2c23c9;border-radius:12px;max-width:100%;padding:3px 8px;font-size:11px;line-height:1.2}.at-table .opponents small{color:#d3ddca;max-width:100%;font-size:10px;line-height:1.2}.at-table .table-watermark{text-align:center;letter-spacing:-2px;color:#e8d6a826;font:italic 700 38px/.9 Georgia,serif;position:absolute;top:83%;left:50%}.at-table .table-watermark>span{letter-spacing:3px;font:7px/2.5 sans-serif;display:block}.at-table .table-piles{left:50%;top:var(--pile-y,54%);gap:var(--pile-gap);z-index:4;display:flex;position:absolute;transform:translate(-50%,-50%)}.at-table .draw-pile,.at-table .discard-pile{width:var(--pile-width);height:calc(var(--pile-width) * 1.46);color:#fff1d6;background:0 0;border-radius:6px;flex-shrink:0;padding:0;position:relative}.at-table .draw-pile{touch-action:manipulation;box-shadow:0 10px 18px #001a184d}.at-table .draw-pile:disabled{opacity:1}.at-table .draw-pile:disabled .draw-one{display:none}.at-table .draw-pile.available:after{content:"";border:1px solid #f7d88d;border-radius:10px;position:absolute;inset:-7px;box-shadow:0 0 20px #f7d88d29}.at-table .draw-one{color:#263b2d;background:#f5d58f;border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:grid;position:absolute;top:-10px;right:-10px;box-shadow:0 3px 8px #09241b55}.at-table .pile-label{text-align:center;pointer-events:none;color:#f7e5bd;width:130px;font-size:12px;font-weight:650;line-height:1.35;display:block;position:absolute;top:calc(100% + 16px);left:50%;transform:translate(-50%)}.at-table .pile-label>span{color:#c5d2bd;margin-top:4px;font-size:9px;font-weight:400;display:block}.at-table .pile-fallback{display:none}.at-table .without-webgl{background:radial-gradient(#2c6550,#163d32);border:6px solid #97714e;border-radius:45%}.at-table .without-webgl canvas{visibility:hidden}.at-table .without-webgl .pile-fallback{color:#fff2d4;background:#292e39;border:4px solid #f6ead2;border-radius:7px;place-items:center;font-size:32px;font-weight:800;display:grid;position:absolute;inset:0}.at-table .without-webgl .card-back{background:#ad4436;font-size:14px}.at-table .without-webgl .red{background:#b94333}.at-table .without-webgl .yellow{color:#263b2d;background:#dfad3e}.at-table .without-webgl .green{background:#276447}.at-table .without-webgl .blue{background:#24658b}.at-table .canvas-fallback{text-align:center;color:#f4e5c4;pointer-events:none;background:0 0;font-size:10px;display:block;position:absolute;inset:auto 15% 4%}.at-table .last-action{white-space:nowrap;text-overflow:ellipsis;color:#c8d7c0;background:0 0;flex-shrink:0;min-height:28px;padding:4px 18px 6px;font-size:11px;line-height:1.5;overflow:hidden}.at-table .hand-panel{color:#f5ead1;background:linear-gradient(#102d2599,#0c241ee6);border:0;border-top:1px solid #e4d6b524;border-radius:0;flex-shrink:0;margin:0;padding:0 max(20px,50% - 525px) 10px;box-shadow:0 -12px 40px #06231e33}.at-table .hand-heading{gap:16px;min-height:44px}.at-table .hand-heading h2{white-space:nowrap;color:#e4dfc6;font-size:12px;font-weight:500}.at-table .hand-heading h2 span{color:#ffe1a2;border:1px solid #f6e0af40;border-radius:20px;place-items:center;min-width:24px;height:24px;font-size:11px;display:inline-grid}.at-table .hand-heading>span{color:#b8caba;margin-left:auto;font-size:10px}.at-table .hand-heading:has(.color-picker)>span{display:none}.at-table .hand-list{scrollbar-width:thin;scrollbar-color:#6f8970 transparent;overscroll-behavior-x:contain;justify-content:safe center;align-items:center;gap:0;min-width:0;padding:15px 8px 10px}.at-table .hand-card{color:#fff5df;opacity:1;border:3px solid #f8edda;border-radius:8px;outline:none;width:80px;min-width:80px;height:116px;margin-left:-24px;box-shadow:-4px 4px 8px #001a1c66}.at-table .hand-card:first-child{margin-left:0}.at-table .hand-card.yellow{color:#26331d}.at-table .hand-card strong{font-size:38px}.at-table .hand-card small{font-size:12px}.at-table .hand-card>span{font-size:8px}.at-table .hand-card:not(.legal){filter:saturate(.7)brightness(.8)}.at-table .hand-card.legal{box-shadow:-4px 4px 8px #001a1c66,0 0 0 1px #ffe5a788}.at-table .hand-card.selected{outline-offset:3px;filter:none;z-index:1;outline:2px solid #ffe1a2;transform:translateY(-10px)rotate(-2deg)}.at-table .hand-card:focus-visible,.at-table .draw-pile:focus-visible{outline-offset:5px;z-index:5;outline:3px solid #fff0ae}.at-table .game-controls{border:0;flex-wrap:nowrap;gap:12px;min-height:50px;padding:0}.at-table .uno-toggle{flex:initial;gap:8px;min-height:44px}.at-table .uno-toggle>span{color:#f3ca81;font-size:20px}.at-table .uno-toggle small{color:#bfcebc;max-width:180px;font-size:10px}.at-table .uno-toggle input{accent-color:#b7533e}.at-table .game-action-buttons{gap:8px;width:auto;margin-left:auto}.at-table .game-action-buttons .button{color:#183b2e;background:#f1d393;border:1px solid #f1d393;border-radius:24px;min-width:106px;min-height:44px;padding:10px 20px;font-size:12px;box-shadow:0 3px #8c784e}.at-table .game-action-buttons .button.outline{color:#f6e5c3;box-shadow:none;background:#ffffff0a;border-color:#cfbe984d}.at-table .game-action-buttons .button:disabled{opacity:.5;box-shadow:none}.at-table .game-action-buttons .button.primary:not(:disabled):hover,.at-table .results .button.primary:not(:disabled):hover{color:#183b2e;background:#ffe2a3}.at-table .game-action-buttons .button.outline:not(:disabled):hover{color:#f6e5c3;background:#ffffff16}.at-table .color-picker{align-items:center;gap:6px;margin-left:auto;display:flex}.at-table .color-picker legend{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.at-table .color-picker button{border:2px solid #fff3d67a;border-radius:50%;width:44px;min-height:44px}.at-table .color-picker button.chosen{outline-offset:2px;outline:2px solid #ffe6aa}.at-table .results{z-index:7;bottom:max(28px, env(safe-area-inset-bottom));color:#fff1cf;background:#112e27f5;border:1px solid #d7b87577;border-radius:16px;width:min(560px,100% - 32px);margin:0;padding:24px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 16px 80px #001c18aa}.at-table .results h2{color:#fff1cf}.at-table .results p{color:#ccdac5}.at-table .results .button{color:#183b2e;background:#f1d393}.at-table main :focus-visible{outline-color:#ffe3a2}@media (width<=700px){.at-table .room-heading{gap:12px;min-height:62px;padding:6px 12px}.at-table .game-wordmark{font-size:27px}.at-table .game-wordmark small{letter-spacing:1px;margin-top:8px;font-size:5px}.at-table .room-heading h1{max-width:135px;font-size:12px}.at-table .room-heading p{margin-top:3px}.at-table .room-id{font-size:8px}.at-table .heading-actions{gap:2px}.at-table .heading-actions .connection-badge{display:none}.at-table .heading-actions .icon-button,.at-table .heading-actions .button{border:0;width:44px;height:44px}.at-table .game-board-top{gap:7px;min-height:44px;padding:4px 14px 0;font-size:10px}.at-table .game-turn{font-size:11px}.at-table .game-board-top .direction{font-size:18px}.at-table .timer{min-width:42px;padding:5px 7px;font-size:12px}.at-table .opponents>span{gap:4px;width:76px;max-width:76px}.at-table .opponents .avatar{border-width:2px;width:34px;height:34px;font-size:12px}.at-table .opponents strong{max-width:74px;padding:2px 5px;font-size:9px}.at-table .opponents small{font-size:8px}.at-table .pile-label{width:90px;font-size:10px}.at-table .pile-label>span{font-size:8px}.at-table .last-action{min-height:27px;padding:4px 12px;font-size:10px}.at-table .hand-panel{padding:0 8px 6px}.at-table .hand-heading{gap:8px;padding:0 6px}.at-table .hand-heading>span{text-align:right;max-width:180px;font-size:9px}.at-table .hand-list{padding:15px 6px 8px}.at-table .hand-card{width:62px;min-width:62px;height:90px;margin-left:-18px}.at-table .hand-card strong{font-size:30px}.at-table .hand-card small{font-size:11px}.at-table .hand-card>span{font-size:7px}.at-table .game-controls{gap:8px;min-height:48px;padding:0 6px}.at-table .uno-toggle{gap:6px}.at-table .uno-toggle>span{font-size:18px}.at-table .uno-toggle small{display:none}.at-table .game-action-buttons .button{min-width:94px;padding:9px 16px;font-size:12px}}@media (width>=650px) and (height<=550px){.at-table main{grid-template-rows:50px minmax(0,1fr);grid-template-columns:minmax(0,1fr) 280px;display:grid}.at-table .room-heading{grid-area:1/1/auto/-1;min-height:50px;padding:3px 16px}.at-table .game-wordmark{font-size:27px}.at-table .game-wordmark small{display:none}.at-table .room-heading h1{font-size:12px}.at-table .heading-actions .connection-badge{margin-right:4px}.at-table .game-board{grid-area:2/1;height:100%}.at-table .game-board-top{min-height:38px;padding:2px 18px}.at-table .game-turn{font-size:11px}.at-table .opponents>span{gap:3px;width:76px;max-width:76px}.at-table .opponents .avatar{border-width:2px;width:30px;height:30px;font-size:11px}.at-table .opponents strong{padding:2px 5px;font-size:9px}.at-table .opponents small{font-size:8px}.at-table .table-watermark{font-size:27px;top:85%}.at-table .pile-label{font-size:10px;top:calc(100% + 8px)}.at-table .pile-label>span{margin-top:2px;font-size:8px}.at-table .last-action{min-height:26px;font-size:10px}.at-table .hand-panel{border-top:0;border-left:1px solid #e4d6b524;flex-direction:column;grid-area:2/2;min-height:0;padding:0 10px 8px;display:flex}.at-table .hand-heading{flex-wrap:wrap;gap:4px;min-height:40px;padding:0}.at-table .hand-heading h2{font-size:11px}.at-table .hand-heading>span{display:none}.at-table .hand-heading .color-picker{margin:4px auto}.at-table .hand-list{flex:1;grid-template-columns:repeat(4,52px);grid-auto-rows:76px;place-content:safe center center;gap:10px 8px;min-height:0;padding:16px 4px;display:grid;overflow:hidden auto}.at-table .hand-card{border-width:2px;width:52px;min-width:52px;height:76px;margin:0}.at-table .hand-card strong{font-size:26px}.at-table .hand-card small{font-size:10px}.at-table .hand-card>span{font-size:6px}.at-table .game-controls{flex-shrink:0;gap:6px;min-height:44px;padding:0}.at-table .uno-toggle{gap:4px}.at-table .uno-toggle small{display:none}.at-table .uno-toggle>span{font-size:16px}.at-table .game-action-buttons{gap:5px}.at-table .game-action-buttons .button{min-width:70px;padding:8px;font-size:11px}.at-table main>.notice{z-index:10;max-height:80px;position:absolute;top:50px;left:0;right:0}.at-table.table-results .game-board{grid-column:1/-1}}.seat-picker>p{color:#4b604d;font-size:12px;line-height:1.65}.chair-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:18px 0;display:grid}.chair{color:#314e39;background:#f0f0e4;border:1px solid #cfd8c5;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:116px;padding:12px 7px;display:flex;position:relative}.chair-number{border:1px solid #9eae95;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.chair strong{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;overflow:hidden}.chair small{font-size:9px;line-height:1.4}.chair.chosen{background:#e3e9d7;border:2px solid #386547}.chair.chosen>svg{position:absolute;top:8px;right:7px}.chair:disabled{opacity:.68}.chair:not(:disabled):hover{background:#e3e9d7}.seat-picker-actions{flex-wrap:wrap;gap:8px;display:flex}.seat-picker-actions .button{flex:1;font-size:11px}.seat-picker .seat-summary{padding:12px 0;font-weight:650}.room-members{border-top:1px solid #d7ddce;margin-top:12px;padding-top:16px}.room-members h3{align-items:center;gap:8px;margin-bottom:10px;font-size:12px;display:flex}.room-members>span{flex-wrap:wrap;align-items:center;gap:6px;padding:8px 0;font-size:12px;display:flex}.room-members small{color:#53674e;margin-left:auto;font-size:10px}.next-round-lobby{color:#38543c;background:#e7eddc;border-radius:6px;margin-top:16px;padding:12px;font-size:12px;line-height:1.6}.at-table .table-seat-number{color:#fff0cc;background:#143b2d;border:1px solid #a9c0a2;border-radius:50%;place-items:center;width:18px;height:18px;font-size:9px;display:grid;position:absolute;top:0;left:calc(50% + 12px)}.at-table .seat-shortcut{color:#eed8a7;min-height:44px;margin-left:auto;font-size:10px}.at-table .hand-heading:has(.color-picker) .seat-shortcut{display:none}.at-table .spectator-panel{background:#0c241ed9;border-top:1px solid #e4d6b524;flex-shrink:0;padding:16px max(16px,50% - 525px)}.at-table .round-queue{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.at-table .round-queue strong{color:#f8e7c3;font-size:13px;font-weight:650}.at-table .round-queue p{color:#d1ddc8;margin-top:5px;font-size:11px;line-height:1.6}.at-table .round-queue .next-round-countdown{color:#f7d994}.at-table .queue-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.at-table .queue-actions .button{border-radius:22px;min-height:44px;padding:10px 14px;font-size:11px}.at-table .queue-actions .button.primary{color:#183b2e;background:#f1d393}.at-table .queue-actions .button.outline{color:#f4e2bd;background:#ffffff0a;border:1px solid #cbb68966}.at-table .queue-actions .text-button{color:#f5c5ad;min-height:44px;font-size:11px}.at-table .queue-actions .button.primary:not(:disabled):hover{color:#183b2e;background:#ffe2a3}.at-table .queue-actions .button.outline:not(:disabled):hover{color:#f4e2bd;background:#ffffff16}.at-table .results{flex-wrap:wrap;max-height:calc(100dvh - 100px);overflow-y:auto}.at-table .results>div:first-of-type{flex:1;min-width:0}.at-table .results .round-queue{border-top:1px solid #ead4a533;flex-direction:column;flex:1 0 100%;align-items:flex-start;gap:10px;padding-top:15px}.at-table .results .queue-actions{width:100%}.at-table .results .queue-actions .button{flex:1;width:auto;margin:0}.at-table .results .queue-actions .text-button{flex:1 0 100%;justify-content:center}.at-table .results>.button{width:100%;min-height:44px;margin:0;font-size:11px}@media (width<=700px){.chair-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.at-table .hand-heading>span{display:none}.at-table .round-queue{flex-direction:column;align-items:stretch;gap:10px}.at-table .queue-actions{width:100%}.at-table .queue-actions .button{flex:1}.at-table .queue-actions .text-button{flex:1 0 100%;justify-content:center}.at-table .spectator-panel{padding:12px 16px}.at-table .table-seat-number{width:16px;height:16px;font-size:8px;left:calc(50% + 8px)}}@media (width>=650px) and (height<=550px){.at-table .spectator-panel{border-top:0;border-left:1px solid #e4d6b524;grid-area:2/2;min-height:0;padding:16px;overflow:auto}.at-table .spectator-panel .round-queue{flex-direction:column;align-items:stretch}.at-table .spectator-panel .queue-actions .button{flex:1}.at-table .spectator-panel .queue-actions .text-button{flex:1 0 100%;justify-content:center}.at-table .hand-heading{flex-wrap:nowrap}.at-table .hand-heading:has(.color-picker){flex-wrap:wrap}.at-table .seat-shortcut{font-size:9px}}.brand>span:last-child{letter-spacing:-1.3px;font-size:27px}.brand-icon{font-size:34px}.brand small{white-space:nowrap;letter-spacing:1.1px}.banner-art>.art-die,.banner-art>.art-domino{filter:drop-shadow(0 10px 14px #0a1f1a66);position:absolute}.banner-art>.art-die{top:44%;left:56%;transform:translate(-50%,-50%)rotate(12deg)}.banner-art>.art-domino{width:118px;top:66%;left:72%;transform:translate(-50%,-50%)rotate(-14deg)}.game-shelf{margin-top:22px}.game-shelf h2{letter-spacing:-.3px;margin-bottom:12px;font-size:19px;font-weight:650}.game-shelf-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.game-card{border:1px solid var(--line);background:#fffdf7;border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.game-card-art{background:radial-gradient(at 50% 30%,#245b49,#143e32);place-items:center;height:120px;display:grid}.game-card-art svg{width:156px;height:104px}.game-card-body{flex-direction:column;flex:1;gap:5px;padding:14px 16px;display:flex}.game-card-kind{letter-spacing:.4px;color:var(--muted);font-size:10px;font-weight:600}.game-card h3{font-size:19px;font-weight:700}.game-card p{color:var(--muted);flex:1;font-size:12.5px;line-height:1.5}.game-card-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.game-card-actions button{min-height:44px}.room-game{color:var(--green);font-weight:650}.rules-game strong{font-weight:700}.game-picker{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;display:grid}.game-picker legend{margin-bottom:6px;padding:0;font-size:13px;font-weight:600}.game-picker button{min-height:44px;color:var(--ink);border:2px solid var(--line);cursor:pointer;background:#fffdf7;border-radius:12px;flex-direction:column;align-items:center;gap:1px;padding:8px 4px;display:flex}.game-picker button.selected{border-color:var(--green);background:#eef1e2}.game-picker svg{background:#143e32;border-radius:8px;width:100%;max-width:96px;height:52px;padding:3px}.game-picker strong{margin-top:4px;font-size:13px}.game-picker small{color:var(--muted);font-size:10px}.help-switch{gap:6px;margin-bottom:14px;display:flex}.help-switch button{min-height:44px;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#fffdf7;border-radius:10px;flex:1;font-weight:600}.help-switch button.selected{color:#fff9ec;background:var(--green);border-color:var(--green)}.help-content ul{gap:6px;padding-left:18px;list-style:outside;display:grid}.at-table .game-board-top>span:first-child{align-items:center;gap:6px;display:inline-flex}.ludo-roll{white-space:nowrap}.ludo-stage{flex:1;place-items:center;min-height:0;padding:2px 10px;display:grid;container-type:size}.ludo-board{aspect-ratio:1;border:3px solid #bc8e60;border-radius:12px;width:min(100cqw,100cqh);position:relative;overflow:hidden;box-shadow:0 14px 34px #06231e66}.ludo-board>svg{width:100%;height:100%;display:block}.ludo-seat{color:#fff9ec;pointer-events:none;flex-direction:column;width:40%;padding:.6cqmin 1.2cqmin;line-height:1.2;display:flex;position:absolute}.ludo-seat strong,.ludo-seat small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ludo-seat strong{background:#102c25;border-radius:999px;width:fit-content;max-width:100%;padding:1px 6px;font-size:clamp(9px,2.6cqmin,13px);font-weight:700}.ludo-seat strong small{font-weight:500}.ludo-seat>small{display:none}.ludo-seat.current strong{color:#16261f;background:#efc46c}@container (height>=340px){.ludo-seat>small{background:#102c25d9;border-radius:999px;width:fit-content;max-width:100%;margin-top:2px;padding:0 6px;font-size:clamp(8px,2.1cqmin,11px);display:block}}.ludo-piece{aspect-ratio:1;border:2px solid #fffdf6;border-radius:50%;width:5.4%;min-width:0;height:auto;min-height:0;padding:0;transition:left .28s,top .28s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 4px #0a1f1a80,inset 0 -3px 5px #0a1f1a40}.ludo-piece:disabled{cursor:default;opacity:1}.ludo-piece.red{background:#c5402f}.ludo-piece.green{background:#1f6a4c}.ludo-piece.yellow{background:#d09a26}.ludo-piece.blue{background:#2b6a96}.ludo-piece.mine{border-color:#16261f}.ludo-piece.legal{z-index:3;cursor:pointer;outline-offset:1px;outline:3px solid #efc46c;animation:1.1s ease-in-out infinite ludo-pulse}.ludo-piece.legal:after{content:"";width:44px;height:44px;position:absolute;inset:50%;transform:translate(-50%,-50%)}.ludo-piece:focus-visible{outline-offset:2px;outline:3px solid #143e32}@keyframes ludo-pulse{50%{box-shadow:0 0 0 5px #efc46c8c,0 2px 4px #0a1f1a80}}.reduced-motion .ludo-piece{transition:none}.reduced-motion .ludo-piece.legal{animation:none}@media (prefers-reduced-motion:reduce){.ludo-piece{transition:none}.ludo-piece.legal{animation:none}}.at-table .ludo-controls{justify-content:space-between;align-items:center;gap:14px;padding-top:10px;padding-bottom:12px;display:flex}.ludo-identity{align-items:center;gap:10px;min-width:0;display:flex}.ludo-identity>div{flex-direction:column;min-width:0;display:flex}.ludo-identity strong{font-size:14px}.ludo-identity span{color:var(--table-muted);font-size:11.5px}.domino-seats{flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:6px;padding:2px 10px 6px;display:flex}.domino-seat{background:#0c241e8c;border:1px solid #e6d7b026;border-radius:999px;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:7px;max-width:170px;padding:3px 10px 3px 4px;line-height:1.2;display:grid}.domino-seat .avatar{grid-row:span 2;width:28px;height:28px;font-size:12px}.domino-seat strong,.domino-seat small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.domino-seat strong{font-size:11.5px;font-weight:650}.domino-seat strong small{font-weight:500}.domino-seat>small{color:var(--table-muted);font-size:10px}.domino-seat.current{border-color:#efc46c;box-shadow:0 0 0 1px #efc46c}.domino-felt{background:radial-gradient(at 50% 40%,#2a6752,#174538);border:3px solid #bc8e60;border-radius:18px;flex:1;place-items:center;min-height:0;margin:0 10px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #06231e80}.domino-felt svg{width:100%;height:100%;padding:6px}.domino-empty{text-align:center;color:var(--table-muted);padding:12px;font-size:13px}.domino-ends{pointer-events:none;justify-content:space-between;display:flex;position:absolute;inset:auto 8px 6px}.domino-ends span{color:#16261f;background:#efc46c;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:650}.at-table .hand-list:has(.domino-tile){align-items:center}.domino-tile{background:0 0;border:0;border-radius:7px;flex:none;width:42px;height:80px;min-height:0;padding:0;transition:transform .14s}.domino-controls.own .domino-tile:not(.legal){opacity:.5}.domino-tile svg{width:100%;height:100%;display:block}.domino-tile:disabled{cursor:default}.domino-tile.legal{cursor:pointer;outline-offset:1px;outline:2px solid #efc46c}.domino-tile.selected{outline:3px solid #fff9ec;transform:translateY(-5px)}.domino-tile:focus-visible{outline-offset:2px;outline:3px solid #fff9ec}.at-table .domino-actions{justify-content:flex-end;min-height:50px}.at-table .domino-actions .game-action-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.at-table .ludo-controls .button,.at-table .domino-actions .button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}@media (width<=860px){.game-shelf-grid{grid-template-columns:minmax(0,1fr);gap:10px}.game-card{flex-direction:row}.game-card-art{flex:0 0 104px;height:auto}.game-card-art svg{width:96px;height:72px}.game-card-body{padding:10px 12px}.game-card h3{font-size:16px}.game-card p{font-size:12px}.banner-art>.art-domino{width:92px}}@media (width<=700px){.room-filters{flex-wrap:wrap}.room-filters .search-field{flex:100%;width:100%}.room-filters select{flex:1 1 0;min-width:0}.banner-art>.art-domino{left:62%}.at-table .ludo-controls{padding-left:14px;padding-right:14px}.at-table .domino-controls .hand-list{gap:6px}.domino-tile{width:38px;height:72px}}@media (width>=650px) and (height<=550px){.at-table .ludo-controls{flex-direction:column;justify-content:center;align-items:stretch;gap:16px;padding:10px}.at-table .hand-list:has(.domino-tile){grid-template-columns:repeat(4,42px);grid-auto-rows:76px}.domino-tile{width:42px;height:76px}.at-table .ludo-controls .game-action-buttons{margin-left:0}.at-table .ludo-controls .button{width:100%}.domino-seats{padding:0 8px 3px}.domino-seat .avatar{width:22px;height:22px;font-size:10px}.domino-seat{max-width:120px}}.round-moment{z-index:40;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.moment-veil{position:absolute;inset:0}.moment-intro{animation:.2s 2s forwards moment-fade}.moment-intro .moment-veil{background:#0c261ce0}.intro-stage{width:min(100%,420px);height:260px;position:relative}.intro-count,.intro-title{color:#f4d58a;text-align:center;font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:700;position:absolute;inset-inline:0}.intro-count{animation:intro-tick .45s calc(var(--step) * .45s) both;font-size:88px;line-height:1;top:16px}.intro-title{font-size:52px;line-height:1;animation:.4s cubic-bezier(.2,1.5,.4,1) 1.35s both moment-rise;top:28px}.intro-title small{color:#f7f6ef;letter-spacing:.14em;margin-top:10px;font-family:inherit;font-size:14px;font-style:normal;display:block}.intro-motif{position:absolute;top:178px;left:50%}.intro-card{transform-origin:50% 130%;width:46px;height:68px;animation:intro-deal .3s var(--delay) cubic-bezier(.2, 1.3, .4, 1) both, intro-fan .35s 1.35s forwards;border:3px solid #fff;border-radius:7px;margin:-34px 0 0 -23px;position:absolute;box-shadow:0 4px 10px #0006}.intro-die{filter:drop-shadow(0 5px 8px #0006);width:62px;height:62px;animation:intro-roll .38s var(--delay) cubic-bezier(.2, .8, .3, 1) both, intro-hide 10ms var(--until) forwards;margin:-31px;position:absolute}.intro-die.last{animation:intro-drop .45s var(--delay) cubic-bezier(.2, 1.5, .4, 1) both}.intro-tile{left:var(--x);filter:drop-shadow(0 3px 5px #0006);transform-origin:50% 100%;width:28px;height:56px;animation:intro-stand .15s var(--delay) both, intro-topple .22s var(--fall) ease-in forwards;margin:-28px -14px;position:absolute}.moment-win .moment-veil{background:#0c261cc2}.moment-win{animation:.3s 2.2s forwards moment-fade}.moment-lose .moment-veil,.moment-draw .moment-veil{background:#08140fcc;animation:.6s both moment-dim}.moment-lose{animation:.3s 1.5s forwards moment-fade}.moment-draw{animation:.3s 1.2s forwards moment-fade}.moment-ring{border:3px solid #f4d58a;border-radius:50%;width:20px;height:20px;animation:.8s ease-out forwards moment-ring;position:absolute;top:24vh;left:50%;transform:translate(-50%,-50%)}.moment-confetti{position:absolute;inset:0}.moment-confetti i{width:9px;height:15px;animation:moment-confetti var(--time) var(--delay) linear forwards;border-radius:2px;position:absolute;top:-16px}.outcome-copy{text-align:center;align-self:start;padding:16vh 20px 0;position:relative}.outcome-copy h2{color:#f4d58a;text-shadow:0 3px 16px #00000080;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,9vw,64px);font-style:italic;line-height:1.1}.outcome-copy p{color:#f7f6ef;text-shadow:0 1px 6px #0009;margin:12px 0 0;font-size:15px;animation:.4s .25s backwards moment-rise}.moment-win h2{animation:.55s cubic-bezier(.2,1.7,.4,1) moment-pop}.moment-lose h2,.moment-draw h2{color:#d8d6c6}.moment-lose h2{animation:1.3s ease-out moment-droop}.moment-draw h2{animation:.4s backwards moment-rise}.round-moment.reduced,.round-moment.reduced *{animation:none!important}.round-moment.reduced .intro-title{top:100px}@keyframes moment-fade{to{opacity:0}}@keyframes moment-rise{0%{opacity:0;transform:translateY(14px)scale(.85)}}@keyframes moment-dim{0%{opacity:0}}@keyframes moment-pop{0%{opacity:0;transform:scale(.4)}}@keyframes moment-ring{to{opacity:0;width:150vmax;height:150vmax}}@keyframes moment-confetti{to{transform:translate(var(--drift), 110vh) rotate(var(--spin))}}@keyframes moment-droop{0%{opacity:0;transform:translateY(-34px)}30%{opacity:1;transform:none}45%{transform:rotate(-2.5deg)}60%{transform:rotate(2deg)}75%{transform:rotate(-1deg)}to{transform:none}}@keyframes intro-tick{0%{opacity:0;transform:scale(1.7)}35%,90%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes intro-deal{0%{opacity:0;transform:translateY(140px)}to{opacity:1;transform:rotate(var(--turn))}}@keyframes intro-fan{0%{transform:rotate(var(--turn))}to{transform:rotate(calc(var(--turn) * 1.45)) translateY(-20px)}}@keyframes intro-roll{0%{opacity:0;transform:translate(-90px,-26px)rotate(-400deg)}20%{opacity:1}70%{transform:translateY(6px)rotate(10deg)}to{opacity:1;transform:none}}@keyframes intro-hide{to{visibility:hidden}}@keyframes intro-drop{0%{opacity:0;transform:translateY(-44px)rotate(180deg)}to{opacity:1;transform:none}}@keyframes intro-stand{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes intro-topple{0%{transform:none}to{transform:rotate(68deg)}}.turn-orbit{pointer-events:none;will-change:transform;width:100%;height:100%;position:absolute;inset:0}.turn-arrow-halo,.turn-arrow-line{fill:none;stroke-linecap:round}.turn-arrow-halo{stroke:none}.turn-arrow-line{stroke:#f5cf78}.turn-arrow-head{fill:#f5cf78}.turn-token{fill:#ffe9ad;stroke:#8a5f18}.turn-token-link{stroke:#14362b;opacity:.85}.turn-comet{z-index:2}.turn-beam{fill:#f5cf78;opacity:.2}.turn-comet-path{fill:none;stroke:#fff;stroke-opacity:.1}.turn-flash{fill:none;stroke:#ffe9ad;stroke-width:3px}.turn-comet-tail circle{fill:#f5cf78}.turn-comet-tail circle.head{fill:#fff6d8}.turn-banner{z-index:5;white-space:nowrap;color:#ffe9ad;pointer-events:none;background:#0b2c23;border:2px solid #f5cf78;border-radius:999px;padding:9px 20px;font-size:15px;font-weight:800;animation:.3s ease-out turn-banner-in,.25s ease-in 1.05s forwards turn-banner-out;position:absolute;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #061a1880}@keyframes turn-banner-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.7)}60%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}}@keyframes turn-banner-out{to{opacity:0}}.reduced-motion .turn-banner{animation-name:none!important}@media (prefers-reduced-motion:reduce){.turn-banner{animation-name:none!important}}.table-self{z-index:3;pointer-events:none;flex-direction:column;align-items:center;gap:3px;display:flex;position:absolute;top:91.5%;left:50%;transform:translate(-50%,-50%)}.table-self .avatar{border:2px solid #eadbbd;width:32px;height:32px;font-size:13px;box-shadow:0 3px 8px #061a184d}.table-self strong{color:#fff1d6;background:#0b2c23c9;border-radius:12px;padding:1px 7px;font-size:10px;line-height:1.2}.table-self.current .avatar{outline-offset:3px;outline:2px solid #f5cf78}.at-table .opponents .current .avatar,.table-self.current .avatar{animation:1.5s ease-in-out infinite turn-seat-pulse}@keyframes turn-seat-pulse{50%{outline-offset:7px;outline-color:#f5cf7866}}.at-table .opponents>span.current:after,.table-self.current:before{letter-spacing:.04em;white-space:nowrap;color:#3d2a10;content:"GILIRAN";background:#f5cf78;border-radius:999px;padding:1px 8px;font-size:9px;font-weight:800;line-height:1.5;position:absolute;left:50%;transform:translate(-50%)}.at-table .opponents>span.current:after{top:calc(100% + 3px)}.table-self.current:before{bottom:calc(100% + 7px)}@media (width<=640px),(height<=500px){.table-self{flex-direction:row;gap:5px;top:94%}.table-self .avatar{width:24px;height:24px;font-size:11px}.table-self.current:before{order:1;position:static;transform:none}.table-self.current .avatar{outline-offset:2px}}.ludo-board>.turn-orbit{width:100%;height:100%;position:absolute;inset:0}.ludo-turn-orbit .turn-arrow-halo{stroke:#fff9ec;opacity:.8}.ludo-turn-orbit .turn-arrow-line{stroke:#14362b}.ludo-turn-orbit .turn-arrow-head{fill:#14362b}.ludo-turn-base{fill:none;stroke:#ffe9ad;stroke-width:.22px;animation:1.5s ease-in-out infinite turn-base-pulse}@keyframes turn-base-pulse{50%{stroke-opacity:.35}}.domino-felt .turn-orbit{padding:0}.domino-felt>svg:not(.turn-orbit),.domino-felt>.domino-empty{z-index:1;position:relative}.domino-felt>.domino-ends{z-index:2}.domino-bead{pointer-events:none;border:2px solid #eadbbd;place-items:center;width:26px;height:26px;font-size:11px;display:grid;position:absolute;transform:translate(-50%,-50%)}.domino-bead.current{outline-offset:2px;outline:2px solid #f5cf78}
