@import"https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;700;800&family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{--felt1: #a91c20;--felt2: #7d070b;--felt3: #430003;--coral: #ff6b57;--coral-d: #d14b39;--teal: #2ec4b6;--teal-d: #1e968a;--gold: #ffd166;--ink: #333;font-family:"M PLUS Rounded 1c",Noto Sans JP,sans-serif;color:#fff}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#430003}button,input{font:inherit}button{cursor:pointer;border:0;background:none}button:disabled{opacity:.42;cursor:not-allowed}main.landing,main.game,main.loading{min-height:100vh;min-height:100dvh;background:radial-gradient(circle at 50% 22%,var(--felt1) 0%,var(--felt2) 55%,var(--felt3) 100%);transition:background .6s}main.game.rev{background:radial-gradient(circle at 50% 22%,#c05555,#93393f 55%,#6b232c)}main.game.fit{background:radial-gradient(ellipse at 50% 45%,#a91c20,#7d070b 44%,#430003)}.landing{width:100%;padding:12px 20px 28px;text-align:center;position:relative;overflow:hidden}.landing>*{position:relative;z-index:1}.float-suits{position:absolute;inset:0;pointer-events:none;z-index:0}.float-suits span{position:absolute;font-size:46px;opacity:.12;animation:floaty 7s ease-in-out infinite}.float-suits span:nth-child(1){left:6%;top:12%}.float-suits span:nth-child(2){left:86%;top:18%;font-size:34px;animation-delay:-2s}.float-suits span:nth-child(3){left:12%;top:68%;font-size:38px;animation-delay:-4s}.float-suits span:nth-child(4){left:82%;top:74%;font-size:52px;animation-delay:-1s}.float-suits span:nth-child(5){left:48%;top:86%;font-size:30px;animation-delay:-3s}.float-suits span:nth-child(6){left:38%;top:8%;font-size:28px;animation-delay:-5s}@keyframes floaty{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-16px) rotate(6deg)}}.logo{font-size:1em;color:var(--gold);text-shadow:0 4px 0 rgba(0,0,0,.25);animation:logo-bounce 2.4s ease-in-out infinite;display:inline-block}@keyframes logo-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px) rotate(-5deg)}}.landing h1{font-size:min(calc((100vw - 48px)/8),64px);line-height:1.05;font-weight:800;margin:0 0 8px;text-shadow:0 3px 0 rgba(0,0,0,.2)}.site-title{display:flex;flex-direction:column;align-items:center}.site-title-main{white-space:nowrap}.site-title-sub{display:block;margin-top:4px;padding-left:.28em;color:#fff4dc;font-size:.38em;line-height:1.2;font-weight:800;letter-spacing:.28em;text-shadow:0 2px 0 rgba(0,0,0,.2)}.landing em{font-style:normal;color:var(--gold);letter-spacing:.04em;margin-left:4px}.tagline{color:#e8f6ec;line-height:1.7;font-size:13px;margin:0 0 10px}.features{display:flex;justify-content:center;gap:5px;flex-wrap:nowrap;margin:2px 0 4px}.features span{background:#ffffff29;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;white-space:nowrap}.landing .panel{width:min(100%,440px);margin:16px auto 0}.credit{margin-top:16px;font-size:12px;color:#d6ecdc}.credit a{color:var(--gold);font-weight:700;text-decoration:none}.credit a:hover{text-decoration:underline}.credit.dark{color:#7f9a8a;margin-bottom:0}.credit.dark a{color:#1f664f}.panel{background:#fffaf0;color:var(--ink);border-radius:22px;padding:16px 18px;box-shadow:0 15px 40px #06221966}.field-label{display:block;text-align:left;font-size:13px;font-weight:800;color:#4a5a50;margin-bottom:6px}.panel input{width:100%;border:2px solid #e3dccb;border-radius:12px;padding:10px;margin:4px 0 12px;background:#fff}.panel input:focus{outline:none;border-color:var(--teal)}.name-row{display:flex;align-items:center;gap:10px}.name-row input{flex:1;min-width:0;margin:0 0 6px}.avatar-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin-bottom:12px}.avatar-pick{font-size:19px;padding:3px 0;border-radius:12px;background:#f4efe2;border:2px solid transparent;transition:.12s;line-height:1.3}.avatar-pick:hover{transform:scale(1.12)}.avatar-pick.picked{background:#fff;border-color:var(--teal);box-shadow:0 0 0 2px #2ec4b64d;transform:scale(1.12)}.rule-toggles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}.rule-toggles .rule{border-radius:14px;padding:9px 6px;text-align:center;background:#eee;color:#999;border:2px solid #ddd;transition:.12s}.rule-toggles .rule.on{background:#e9faf3;color:#14735f;border-color:var(--teal)}.rule-toggles .rule:disabled{opacity:1;cursor:default}.rule-toggles .rule:disabled:not(.on){opacity:.55}.rule-toggles .rule b{display:block;font-size:13px}.rule-toggles .rule small{display:block;font-size:9px;line-height:1.4;margin-top:2px}.host-rules-note{margin-left:5px;color:#7b7b73;font-size:10px;font-weight:700}.primary{background:var(--coral);color:#fff;border-radius:16px;padding:14px 22px;font-size:16px;font-weight:800;box-shadow:0 4px 0 var(--coral-d);transition:.1s}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 var(--coral-d)}.panel .primary{width:100%}.panel .note{display:block;margin-top:10px;color:#688074;font-size:12px}.error{color:#bd302c;margin-top:13px;font-size:13px;font-weight:700}header{height:44px;padding:8px 14px;display:flex;justify-content:space-between;align-items:center}header a{color:#fff;text-decoration:none;font-size:18px;font-weight:800;text-shadow:0 2px 0 rgba(0,0,0,.25)}.site-brand{display:flex;width:fit-content;flex-direction:column;align-items:stretch;line-height:1}.site-brand-title{align-self:flex-start}.site-brand-meta{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:2px;color:#ffffffe0;font-size:clamp(6px,.8vw,9px);line-height:1;letter-spacing:.04em;white-space:nowrap}.site-brand-meta>span:last-child{margin-right:6px}.site-brand .brand-credit{color:var(--gold);font-size:inherit;font-weight:800;text-shadow:none}.header-actions{display:flex;align-items:center;gap:10px}.room{font-size:11px;background:#ffffff2e;border-radius:999px;padding:4px 12px;letter-spacing:.04em}.home-button{padding:6px 12px;border:1px solid rgba(255,255,255,.45);border-radius:999px;color:#fff;font-size:12px;font-weight:700}.home-button:hover{background:#ffffff26}.brand{display:flex;flex-direction:column;line-height:1.15}.brand-credit{font-size:11px;font-weight:700;color:#fffc;text-decoration:none;text-shadow:none;text-align:right}.brand-credit:hover{text-decoration:underline;color:var(--gold)}.players{display:flex;gap:6px;overflow-x:auto;padding:38px 10px 4px;scrollbar-width:none}.players.ring{justify-content:center;align-items:center;gap:10px;padding-top:32px;overflow:visible}.players.ring .seat-wrap{display:flex;align-items:center;gap:6px;flex:0 0 auto}.edge-turn-arrow{position:absolute;bottom:-26px;z-index:3;color:#fff;font-size:22px;line-height:1;font-weight:1000;text-shadow:0 2px 4px rgba(0,0,0,.4);animation:edge-arrow-pulse 1.2s ease-in-out infinite}.edge-left{left:0;transform:translate(-50%)}.edge-right{right:0;transform:translate(50%)}@keyframes edge-arrow-pulse{50%{opacity:.65}}.players.ring .seat-wrap:nth-child(odd){transform:none}.turn-arrow{color:#fff;font-size:20px;font-weight:900;text-shadow:0 2px 4px rgba(0,0,0,.35);animation:turn-arrow-pulse 1.2s ease-in-out infinite}@keyframes turn-arrow-pulse{50%{transform:translate(3px);opacity:.65}}.players::-webkit-scrollbar{display:none}.players>:first-child{margin-left:auto}.players>:last-child{margin-right:auto}.opp{position:relative;flex:0 0 auto;width:64px;background:#fffffff0;border-radius:14px;border:2px solid transparent;padding:2px 4px 6px;text-align:center;color:var(--ink);box-shadow:0 3px 8px #00000040}.opp .fan{height:16px;position:relative;margin-bottom:-5px}.opp .fan i{position:absolute;top:0;left:50%;width:12px;height:17px;background:linear-gradient(135deg,#ff8a5c,#e2543f);border:1.5px solid #fff;border-radius:3px;transform-origin:bottom center;box-shadow:0 1px 2px #0003}.opp .avatar{position:relative;z-index:1;width:28px;height:28px;border-radius:50%;margin:0 auto 2px;display:grid;place-items:center;font-size:15px;border:2px solid #fff;box-shadow:0 1px 4px #0003}.opp .nm{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:9px;font-weight:700;overflow:hidden;word-break:break-all;line-height:1.25;min-height:2.5em}.opp .ct{display:block;font-size:9px;color:#666}.opp .ct b{color:var(--coral-d);font-size:11px}.opp.me .nm{color:#b8860b}.opp.turn{border-color:#e2a614;border-width:3px;transform:scale(1.05);z-index:1;animation:turn-glow 1.8s ease-in-out infinite}@keyframes turn-glow{0%,to{box-shadow:0 0 0 3px var(--gold),0 0 8px 2px #ffdc7873,0 3px 8px #00000040}50%{box-shadow:0 0 0 3px var(--gold),0 0 16px 5px #ffe18cb3,0 3px 8px #00000040}}.opp.turn:before{content:"いま";position:absolute;top:-10px;left:50%;transform:translate(-50%);white-space:nowrap;background:var(--gold);color:#6b4d00;font-size:9px;font-weight:800;border-radius:999px;padding:1px 8px;z-index:2;box-shadow:0 1px 3px #00000040}.ord-arrow{flex-shrink:0;align-self:center;margin-top:10px;color:#ffffffe6;font-weight:800;font-size:14px;text-shadow:0 1px 2px rgba(0,0,0,.35)}.opp.reach:after{content:"リーチ!";position:absolute;top:-8px;right:-4px;background:#e63946;color:#fff;font-size:9px;font-weight:800;border-radius:999px;padding:1px 6px;z-index:2;animation:pulse 1s infinite}@keyframes pulse{50%{transform:scale(1.18)}}.opp.done{opacity:.75}.opp i.online,.opp i.offline{position:absolute;left:6px;top:6px;width:7px;height:7px;border-radius:50%;z-index:2}.online{background:#47c76f}.offline{background:#b6b6b6}.bubble{position:absolute;top:-14px;left:50%;transform:translate(-50%);font-size:20px;z-index:5;will-change:transform,opacity}@keyframes bubble-pop{0%{transform:translate(-50%) scale(0)}12%{transform:translate(-50%) scale(1.3)}22%{transform:translate(-50%) scale(1)}45%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-20px) scale(1)}}.bubble.talk{top:-24px;font-size:11px;font-weight:700;background:#fff;color:#333;border-radius:12px;padding:5px 10px;box-shadow:0 2px 8px #0000004d;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.board-area{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:4px 12px 8px;flex:1 1 auto;min-height:0;overflow-y:auto}.turn-banner{display:flex;align-items:center;gap:8px;font-weight:800;border-radius:999px;padding:6px 18px}.turn-banner.mine{background:var(--gold);color:#6b4d00;border:2px solid #fff;font-size:15px;box-shadow:0 4px #d8a412,0 6px 14px #00000040;animation:bounce 1.2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.turn-banner.other{background:#00000047;color:#fff;font-size:13px}.turn-banner small{font-weight:800;color:var(--gold);font-size:11px;margin-left:4px}.mini-av{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:13px;border:1.5px solid #fff;vertical-align:middle}.rev-badge{background:#e63946;color:#fff;font-weight:800;font-size:12px;border-radius:999px;padding:4px 14px;box-shadow:0 3px #a32531;animation:pulse 1.4s infinite}.oval{width:min(88vw,330px);height:150px;border-radius:50%/45%;border:3px solid rgba(255,255,255,.35);box-shadow:inset 0 0 36px #00000059;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.played-card{position:relative;z-index:1}.discarded-card{pointer-events:none}.played-card.from-hand{position:relative;z-index:1}.play-stack-overlay{position:fixed;inset:0;z-index:30;pointer-events:none}.play-stack-flyer{position:fixed;width:86px;height:122px;translate:-50% -50%;pointer-events:none;will-change:transform,opacity}.draw-stack-overlay{position:fixed;inset:0;z-index:35;pointer-events:none;overflow:hidden}.draw-stack-flyer{position:fixed;pointer-events:none;transform-origin:center;will-change:transform,opacity;filter:drop-shadow(0 7px 7px rgba(0,0,0,.35))}.draw-card-back{position:absolute;width:62px;height:88px;border:3px solid #fff;border-radius:8px;background:repeating-linear-gradient(135deg,#222 0 5px,#e63946 5px 10px);box-shadow:0 1px #0000004d}.draw-card-back:after{content:"LASCA";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-style:normal;font-size:17px;font-weight:900;text-shadow:0 2px 0 rgba(0,0,0,.5)}.draw-stack-count{position:absolute;right:-15px;top:-15px;z-index:20;min-width:34px;padding:4px 7px;border:2px solid #fff;border-radius:999px;background:var(--gold);color:#6b3100;font-size:14px;line-height:1;text-align:center;box-shadow:0 3px 8px #0000004d}@keyframes lasca-card-land{0%{opacity:0;transform:scale(.84)}to{opacity:1;transform:scale(1)}}@keyframes lasca-card-from-hand{0%{opacity:.2;transform:translateY(330px) rotate(9deg) scale(.7)}58%{opacity:1;transform:translateY(-10px) rotate(-2deg) scale(1.04)}78%{transform:translateY(4px) rotate(1deg) scale(.99)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}.oval .empty{color:#ffffffbf;font-size:12px;padding:0 26px;text-align:center;line-height:1.7}.oval .played{display:flex;justify-content:center}.oval .played .card{margin:0;cursor:default;box-shadow:0 5px 12px #00000059}.oval .played .card+.card{margin-left:-12px}.oval .note{background:#fffffff2;color:#555;border-radius:12px;padding:3px 10px 3px 4px;font-size:10px;font-weight:700;box-shadow:0 2px 6px #0003;display:flex;align-items:center;gap:6px}.log{background:#00000040;border-radius:999px;padding:4px 14px;font-size:11px;color:#eafbef;max-width:92vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hand{position:relative;width:100%;background:#fffaf0;color:var(--ink);border-radius:24px 24px 0 0;padding:8px 10px max(10px,env(safe-area-inset-bottom));box-shadow:0 -6px 18px #0000004d}.hand-title{position:relative;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:0 6px 2px;white-space:nowrap}.hand-title .mini-av{flex-shrink:0}.ht-name{min-width:0;flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.hand-title .mini-av{border-color:#eee}.hint-line{color:#b8860b;font-size:11px;font-weight:700;padding:0 6px}.hint-inline{display:none}.ht-buttons{margin-left:auto;display:flex;gap:6px;flex-shrink:0}.social-toggle{flex-shrink:0;background:#f4efe2;color:#555;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.hand-title .bubble.my{left:8px;right:auto;top:-34px;transform:none;animation:bubble-pop-r 3s ease-out forwards}@keyframes bubble-pop-r{0%{transform:scale(0)}12%{transform:scale(1.3)}20%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-14px)}}.cards{display:flex;overflow-x:auto;padding:5px 8px 6px;min-height:87px}.cards .card:first-child{margin-left:auto}.card{position:relative;flex:0 0 52px;min-width:0;height:76px;margin-right:-13px;background:#fff;border:2px solid #ddd;border-radius:12px;color:#223;text-align:left;padding:0;box-shadow:0 2px 4px #00000026;transition:transform .14s,box-shadow .14s,opacity .14s}.cards .card:last-child{margin-right:auto}.card-corner{position:absolute;top:4px;left:6px;display:flex;flex-direction:column;align-items:flex-start;line-height:.9}.card .card-corner b{font-size:17px;line-height:.95;letter-spacing:0}.card .card-corner small{font-size:12px;line-height:1.1}.card-suit{position:absolute;right:5px;bottom:4px;font-size:17px;line-height:1}.card.red{color:#e63946}.card.joker{background:#ffdd68;color:#762a3a}.card.joker .card-corner b{font-size:10px;letter-spacing:-.5px}.card.joker .card-corner small{font-size:12px}.card.joker .card-suit{color:#762a3a}.card.playable{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold),0 4px 10px #ffd1668c}.card.dim{opacity:.38;filter:grayscale(.7)}.card.selected{transform:translateY(-14px);border-color:var(--teal);box-shadow:0 0 0 3px var(--teal),0 8px 14px #00000040;z-index:2}.actions{display:flex;gap:10px;padding:4px 8px 0}.actions .primary{flex:2;border-radius:14px;padding:10px;font-size:15px}.actions .pass{flex:1;background:#eee;color:#666;border-radius:14px;padding:10px;font-size:13px;font-weight:800;box-shadow:0 4px #ccc}.actions .pass:active{transform:translateY(2px);box-shadow:0 2px #ccc}.reactions{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;padding-top:6px}.reactions button{width:30px;height:30px;border-radius:50%;background:#f4efe2;font-size:15px;transition:.12s}.reactions button:hover{transform:scale(1.15)}.chat-row{display:flex;gap:6px;padding:6px 6px 0}.chat-row input{flex:1;min-width:0;border:2px solid #e3dccb;border-radius:999px;padding:6px 12px;font-size:16px;background:#fff}.chat-row input:focus{outline:none;border-color:var(--teal)}.chat-row button{background:var(--teal);color:#fff;border-radius:999px;padding:0 18px;font-weight:800;box-shadow:0 3px 0 var(--teal-d)}.chat-row button:active{transform:translateY(2px);box-shadow:0 1px 0 var(--teal-d)}.hand>.error{position:absolute;top:8px;right:16px;z-index:6;max-width:62%;margin:0;padding:0;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.game .panel{width:min(100%,480px);margin:18px auto;text-align:center}.game .panel h2{font-size:18px;margin:0 0 14px}.qr-box{margin:0 0 14px}.qr{width:168px;height:168px;display:block;margin:0 auto 6px;border:8px solid #fff;border-radius:14px;box-shadow:0 3px 10px #00000026}.qr-box figcaption{font-size:12px;color:#688074}.invite{display:flex;gap:7px;margin-bottom:14px}.invite input{flex:1;min-width:0;margin:0;font-size:16px;border:2px solid #e3dccb;border-radius:12px;padding:10px}.invite button{flex:0 0 84px;background:#1f664f;color:#fff;border-radius:12px;font-weight:700;white-space:nowrap}.members{list-style:none;margin:0 0 12px;padding:0;text-align:left}.members li{display:flex;align-items:center;gap:10px;padding:7px 4px;border-bottom:1px dashed #e8e0cd;font-weight:700;font-size:14px}.members .avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:18px;border:2px solid #fff;box-shadow:0 1px 3px #0003}.members .member-name{min-width:0;overflow-wrap:anywhere}.host-tag{background:var(--gold);color:#7a5b00;font-size:10px;font-weight:800;border-radius:999px;padding:2px 8px}.connection-tag{margin-left:auto;flex:0 0 auto;font-size:10px;font-weight:800;border-radius:999px;padding:3px 8px;white-space:nowrap}.connection-tag.connected{color:#19733b;background:#e1f6e8}.connection-tag.disconnected{color:#68736c;background:#edf0ee}.guest-remove{margin-left:2px;flex:0 0 auto;border:1px solid #e29b91;border-radius:999px;background:#fff4f1;color:#b4483c;padding:3px 8px;font-size:11px;font-weight:800}.guest-remove:hover{background:#ffe4de}.secondary{background:#e8f1eb;color:#245a45;border:1px solid #9ec5ae;border-radius:12px;padding:10px 16px;font-size:14px;font-weight:800}.secondary:active{transform:translateY(1px)}.host-recovery{margin-top:10px;padding:8px 0 2px}.meta{color:#688074;font-size:13px;margin:6px 0}.ranking{list-style:none;margin:0 0 18px;padding:0;text-align:left}.ranking li{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px dashed #e8e0cd;font-weight:700;font-size:15px}.ranking .medal{width:40px;text-align:center;font-size:20px;flex-shrink:0}.ranking .avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:18px;border:2px solid #fff;box-shadow:0 1px 3px #0003}.result .credit{margin-top:18px}.loading{display:grid;place-items:center;color:#fff;font-weight:700}.game{padding-bottom:0}.game.fit{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.game.fit header,.game.fit .players{flex-shrink:0}@media(min-width:700px){header{height:52px;padding:10px 24px}header a{font-size:22px}.players{gap:12px;padding:40px 20px 6px}.opp{width:96px;border-radius:16px;padding:4px 6px 7px}.opp .fan{height:26px;margin-bottom:-7px}.opp .fan i{width:18px;height:26px}.opp .avatar{width:42px;height:42px;font-size:24px}.opp .nm{font-size:12px}.opp .ct{font-size:11px}.opp .ct b{font-size:15px}.board-area{gap:12px}.turn-banner.mine{font-size:18px;padding:9px 26px}.turn-banner.other{font-size:15px}.mini-av{width:28px;height:28px;font-size:17px}.oval{width:min(78vw,780px);height:230px}.oval .empty{font-size:14px}.oval .note{font-size:13px;padding:5px 14px 5px 6px}.log{font-size:13px;padding:6px 18px}.card{flex:0 0 70px;height:100px;margin-right:-12px;border-radius:13px}.card .card-corner b{font-size:23px}.card .card-corner small{font-size:15px}.card-suit{font-size:23px}.card.joker .card-corner b{font-size:14px}.hand{width:min(100%,1400px);margin:0 auto;padding:12px 24px}.hand-title{font-size:14px}.hint-line{font-size:13px;padding:0 8px 6px}.hand-title em{font-size:13px}.cards{min-height:120px;padding-top:20px}.actions .primary{font-size:18px;padding:14px}.actions .pass{font-size:16px;padding:14px}.reactions button{width:40px;height:40px;font-size:20px}.chat-row input{font-size:14px}.bubble.talk{font-size:14px;max-width:260px}.game .panel{width:min(100%,560px)}}.solo{width:100%;margin-top:12px;padding:11px;color:#245a45;font-weight:800;background:#e8f1eb;border:1px solid #9ec5ae;border-radius:14px}.lobby{max-width:520px;text-align:center}.lobby-actions{display:flex;gap:10px;justify-content:center}.lobby-actions .primary{flex:1}.bot-tag{margin-left:auto;background:#e8edff;color:#4559a7;border-radius:999px;padding:3px 8px;font-size:10px}.lasca-card{position:relative;width:70px;height:100px;overflow:hidden;flex:0 0 70px;border:4px solid #fff;border-radius:11px;color:#fff;text-shadow:0 1px 2px #222;box-shadow:0 4px 10px #00000047;background:#e23c3c}.lasca-card:before{content:"";position:absolute;width:118px;height:48px;background:#fff;opacity:.95;top:27px;left:-24px;border-radius:50%;transform:rotate(-24deg)}.lasca-card.red{background:#df393a}.lasca-card.yellow{background:#e2ad18}.lasca-card.green{background:#159663}.lasca-card.blue{background:#2879bd}.lasca-card.wild{background:conic-gradient(#df393a 0 25%,#e2ad18 0 50%,#159663 0 75%,#2879bd 0)}.lasca-card.wild-card:before{display:none}.lasca-card.wild-card:after{content:"";position:absolute;z-index:0;width:88%;height:47%;left:6%;top:27%;background:#171717;border-radius:50%;transform:rotate(-18deg)}.wild-symbol{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-18deg);color:#fff;font-style:normal;font-size:13px;font-weight:1000;letter-spacing:-1px;text-shadow:0 1px 1px #000}.wild-four{position:absolute;z-index:2;right:4px;top:3px;color:#fff;font-size:16px;line-height:1;text-shadow:0 1px 2px #000}.lasca-card b{position:absolute;z-index:1;font-size:20px;left:6px;top:4px}.lasca-card span{position:absolute;z-index:1;font-size:34px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-18deg);color:#222;text-shadow:none;font-weight:900}.lasca-card small{position:absolute;z-index:1;bottom:3px;left:3px;right:3px;font-size:7px;text-align:center;color:#222;text-shadow:none;font-weight:800}.cards{justify-content:center}.cards>button{padding:0;margin-right:-13px;border-radius:11px;background:none}.cards>button:first-child{margin-left:0}.cards>button:last-child{margin-right:0}.cards>button:disabled .lasca-card{opacity:.46;filter:grayscale(.55)}.cards>button:not(:disabled):hover .lasca-card,.lasca-card.playable{transform:translateY(-12px);box-shadow:0 0 0 3px var(--gold),0 8px 13px #0000004d}.hand.choosing-color .cards>button:disabled .lasca-card{opacity:1;filter:none}.game.fit:has(.turn-banner.other) .cards>button:disabled .lasca-card{opacity:1;filter:none}.game.fit:has(.turn-banner.other) .cards>button:disabled{opacity:1}.social-tools{width:100%}@media(min-width:700px){.social-tools{grid-area:social;display:block;align-self:end}.social-tools .reactions{padding:2px 0 0;justify-content:flex-start}.social-tools .chat-row{padding:8px 0 0}}.cards>button.selected{position:relative;z-index:4}.cards>button.drawn-pending{position:relative;z-index:5;margin-left:18px;margin-right:0}.cards>button.selected .lasca-card{transform:translateY(-18px);box-shadow:0 0 0 4px var(--teal),0 10px 16px #00000061}.cards>button.top-selected .lasca-card,.cards>button.top-selected:hover .lasca-card{box-shadow:0 0 0 4px var(--coral),0 10px 16px #00000061}.stack-note{margin:4px 4px 0;color:#c34b3d;font-size:11px;font-weight:800}.oval{position:relative;display:block}.table-card{width:86px;height:122px;flex-basis:86px}.table-card b{font-size:25px}.table-card span{font-size:42px}.deck-card{position:absolute;left:0;top:-72px;z-index:2;width:78px;height:110px;display:grid;place-content:center;text-align:center;line-height:1;border-radius:10px;border:4px solid #fff;background:repeating-linear-gradient(135deg,#222 0 6px,#e63946 6px 12px);font-weight:900;font-size:23px;box-shadow:0 4px 10px #0000004d}.deck-card small{margin-top:9px;font-size:10px}.oval .played-card,.oval .discarded-card{position:absolute;left:50%;top:50%;filter:drop-shadow(0 3px 3px rgba(0,0,0,.2))}.oval .played-card .lasca-card{box-shadow:0 10px 18px #0000006b}.deck-card{left:25px;top:-87px}.draw-badge,.lasca-badge{background:#e63946;color:#fff;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:900}.lasca-badge{position:absolute;top:-12px;right:-12px;z-index:4}.catch{position:absolute;z-index:5;bottom:-24px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:9px;color:#fff;background:#d42f36;border-radius:8px;padding:3px 5px}.lasca-button{display:none}.lasca-early{position:absolute;z-index:8;top:6px;left:50%;transform:translate(-50%);background:#e63946;color:#fff;border:2px solid #fff;border-radius:999px;padding:6px 20px;font-family:Yu Gothic UI,Meiryo,sans-serif;font-weight:700;font-size:14px;line-height:1.25;letter-spacing:.03em;white-space:nowrap;box-shadow:0 3px #a3242e,0 4px 10px #0003}.my-lasca-badge{position:absolute;z-index:8;top:6px;left:50%;transform:translate(-50%);background:#e63946;color:#fff;border:2px solid #fff;border-radius:999px;padding:6px 26px;font-family:Yu Gothic UI,Meiryo,sans-serif;font-weight:900;font-size:16px;line-height:1.2;letter-spacing:.05em;white-space:nowrap;box-shadow:0 3px #a3242e,0 4px 10px #0003}.modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:linear-gradient(to bottom,#00000085 0 calc(100% - 250px),#0000000a calc(100% - 250px) 100%)}.modal>div{background:#fffaf0;color:#333;border-radius:20px;padding:22px;text-align:center;box-shadow:0 12px 40px #111}.modal h3{margin-top:0}.color-choice{color:#fff;font-weight:800;margin:4px;padding:10px 12px;border-radius:12px;min-width:52px}.color-choice b,.color-choice small{display:block}.color-choice small{font-size:9px;margin-top:2px;white-space:nowrap}.color-choice.red{background:#df393a}.color-choice.yellow{background:#d2a000}.color-choice.green{background:#159663}.color-choice.blue{background:#2879bd}@media(min-width:700px){.hand{display:grid;grid-template-columns:1.2fr 1fr;column-gap:26px;align-content:start;grid-template-areas:"title title" "hint hint" "cards cards" "actions social" "actions social" "error error"}.hand-title{grid-area:title}.cards{grid-area:cards}.actions{grid-area:actions;align-items:stretch}.actions .primary{font-size:18px}.reactions{grid-area:reactions;justify-content:flex-start;padding:2px 8px 0}.hand .chat-row{grid-area:chat;padding:8px 8px 0}.hand>.error{grid-area:auto;top:12px;right:24px}.invite input{font-size:12px}}@media(min-width:700px){.bubble{font-size:26px;top:-18px}.bubble.talk{top:-32px}.turn-banner{padding:8px 22px}.rev-badge{font-size:14px;padding:5px 16px}header{height:52px;padding:10px 24px}}@media(min-width:700px){.social-toggle{font-size:12px;padding:5px 12px}.hand.collapsed{grid-template-areas:"title title" "hint hint" "cards cards" "actions actions" "error error"}}@media(min-width:700px){.landing{padding:20px 24px 40px}.tagline{font-size:15px}.landing .panel{margin-top:22px}}@media(min-width:700px){.hint-line{display:none}.hint-inline{display:inline;color:#b8860b;font-size:13px;font-weight:700;margin-left:auto;white-space:nowrap}.hint-inline~.ht-buttons{margin-left:12px}}@media(min-width:700px){.ord-arrow{font-size:18px}.opp.turn:before{font-size:11px;padding:2px 10px;top:-12px}.turn-banner small{font-size:13px}}.modal-backdrop{position:fixed;inset:0;background:#0000008c;z-index:100;display:flex;align-items:center;justify-content:center;padding:18px}.rules-modal{background:#fffaf0;color:var(--ink);border-radius:20px;padding:16px 18px 20px;width:min(100%,480px);max-height:86dvh;overflow-y:auto;box-shadow:0 20px 50px #00000073}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.modal-head h2{font-size:17px;font-weight:800}.modal-close{width:32px;height:32px;border-radius:50%;background:#f4efe2;color:#666;font-size:15px;font-weight:800}.rev-note{background:#fdeaea;color:#b13e53;font-size:12px;font-weight:700;border-radius:10px;padding:7px 12px;margin:4px 0 6px}.rules-sub{font-size:12px;font-weight:800;color:#4a5a50;background:#f0ead8;border-radius:8px;padding:4px 10px;margin:12px 0 2px}.rule-item{padding:8px 2px;border-bottom:1px dashed #e8e0cd}.rule-item:last-child{border-bottom:0}.rule-item h4{font-size:13px;font-weight:800;display:flex;align-items:center;gap:8px}.rule-item p{font-size:12px;color:#555;line-height:1.75;margin-top:3px}.onoff{font-size:10px;font-weight:800;border-radius:999px;padding:2px 9px}.onoff.on{background:#e9faf3;color:#14735f;border:1px solid var(--teal)}.onoff.off{background:#eee;color:#999;border:1px solid #ddd}@keyframes talk-pop{0%{transform:translate(-50%) scale(0)}4%{transform:translate(-50%) scale(1.15)}7%{transform:translate(-50%) scale(1)}92%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(1)}}.rank-tag{display:inline-block;font-size:8px;font-weight:800;background:#f6ecce;color:#8a6d1a;border:1px solid #e2cf96;border-radius:999px;padding:0 6px;margin:1px 0;line-height:1.5}.exchange-banner{background:#00000059;color:var(--gold);font-weight:800;font-size:13px;border-radius:999px;padding:8px 18px}.illegal-warn{color:#ffd7d2;background:#a01e1e8c;border-radius:10px;font-size:11px;font-weight:800;padding:5px 10px;margin:6px 8px 0;text-align:center}.hand .illegal-warn{color:#bd302c;background:#fdeaea}.ranking .rlabel{font-style:normal;margin-left:auto;font-size:12px;font-weight:800;color:#8a6d1a;background:#f6ecce;border-radius:999px;padding:2px 10px}@media(min-width:700px){.rank-tag{font-size:10px}.exchange-banner{font-size:15px}.illegal-warn{font-size:13px}}.lock-badge{background:#3b5dc9;color:#fff;font-weight:800;font-size:12px;border-radius:999px;padding:4px 14px;box-shadow:0 3px #27408f}@media(min-width:700px){.lock-badge{font-size:14px;padding:5px 16px}}.rev-badge.jback{background:#e07b2a;box-shadow:0 3px #a85614;animation:none}.preset-row{display:flex;gap:6px;margin-bottom:12px}.preset{flex:1;border-radius:999px;padding:9px 4px;font-size:13px;font-weight:800;background:#eee;color:#999;border:2px solid #ddd}.preset.on{background:var(--coral);color:#fff;border-color:var(--coral-d);box-shadow:0 3px 0 var(--coral-d)}.preset:disabled{cursor:default;opacity:1}.preset:disabled:not(.on){opacity:.55}.rule-toggles.five{grid-template-columns:repeat(5,1fr);gap:5px}.rule-toggles.five .rule{position:relative;padding:10px 2px 9px;border-radius:10px}.rule-toggles.five .rule b{font-size:10px;letter-spacing:-.02em}.rule-toggles.five .rule .q{position:absolute;top:-5px;right:-4px;width:15px;height:15px;border-radius:50%;background:#cfc7ae;color:#675;font-size:9px;font-weight:800;display:grid;place-items:center;font-style:normal;box-shadow:0 1px 2px #00000026}.rule-toggles.five .rule.on .q{background:var(--teal);color:#fff}.rule-toggles.five .rule.dis{opacity:.4;cursor:not-allowed}.rules-modal.help{width:min(100%,380px)}.help-text{font-size:13px;line-height:1.9;color:#555}@media(min-width:700px){.features{gap:8px}.features span{font-size:12px;padding:5px 13px}}.played.flash{animation:flash-out 2.6s forwards}@keyframes flash-out{0%,75%{opacity:1}to{opacity:0}}.oval .note.flow{background:#ffd76a;color:#5c4300;font-weight:800;padding:5px 12px;font-size:12px}.bot-tag{margin-left:6px;font-size:10px;font-weight:800;color:#55607a;background:#e8ecf7;border-radius:999px;padding:2px 8px;white-space:nowrap}.bot-remove{margin-left:auto;border:none;background:#f6d9d3;color:#b04333;border-radius:999px;width:22px;height:22px;font-size:11px;font-weight:800;cursor:pointer;flex:none}.bot-controls{display:flex;align-items:center;gap:6px;margin:10px 0 4px;flex-wrap:wrap}.bot-label{font-size:13px;font-weight:800;color:#4a5a50}.bot-level{border:2px solid var(--teal);background:#fff;color:#22685c;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;cursor:pointer}.bot-level.on{background:var(--teal);color:#fff}.bot-add{border:none;background:var(--coral);color:#fff;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:800;cursor:pointer}.table-tag{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);font-size:9px;font-weight:800;border-radius:999px;padding:2px 8px;white-space:nowrap;box-shadow:0 1px 4px #0003}.table-tag.out{background:var(--gold, #f2b34c);color:#5c4300}.table-tag.pass{background:#cfd6d2;color:#4d5a54}.opp.passed{opacity:.55;filter:saturate(.6)}.rule-chips{position:absolute;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:3px;z-index:1}.board-area .exchange-banner,.board-area .turn-banner,.board-area .rev-badge,.board-area .lock-badge{position:relative;z-index:2}.rule-chips.left{left:4px}.rule-chips.right{right:4px}.rule-chips button{border:none;background:#ffffffd1;color:#14523d;font-size:10px;font-weight:800;border-radius:999px;padding:2px 7px;white-space:nowrap;cursor:pointer;box-shadow:0 1px 3px #00000026}.rule-chips.dense button{font-size:9px;padding:1px 5px}@media(min-width:700px){.rule-chips{gap:5px}.rule-chips.left{left:20px}.rule-chips.right{right:20px}.rule-chips button,.rule-chips.dense button{font-size:12px;padding:4px 12px}}.ord-arrow.below{position:absolute;bottom:-22px;margin:0;line-height:1}.ord-arrow.below.bl{left:10px}.ord-arrow.below.br{right:10px}.players{padding-bottom:22px}@media(min-width:700px){.ord-arrow.below{bottom:-26px}.players{padding-bottom:28px}}@media(max-width:699px){.players.ring.crowd{width:100%;gap:2px;padding:22px 3px 24px;box-sizing:border-box}.players.crowd .seat-wrap{min-width:0;gap:1px}.players.crowd .turn-arrow{width:7px;overflow:hidden;font-size:10px;line-height:1}.players.crowd .opp{box-sizing:border-box;width:43px;min-width:43px;border-radius:10px;padding:1px 1px 4px}.players.crowd .opp .fan{height:12px;margin-bottom:-4px}.players.crowd .opp .fan i{width:8px;height:12px;border-width:1px}.players.crowd .opp .avatar{width:21px;height:21px;border-width:1px;font-size:11px}.players.crowd .opp .nm{min-height:2.3em;font-size:7px;line-height:1.15}.players.crowd .opp .ct{white-space:nowrap;font-size:7px}.players.crowd .opp .ct b{font-size:9px}.players.crowd .rank-tag{font-size:7px;padding:0 3px}.players.crowd .opp.turn{transform:none}.players.crowd .table-tag{font-size:8px;padding:1px 5px}.players.crowd .edge-turn-arrow{bottom:-20px;font-size:17px}}.played-wrap{position:relative;display:flex;justify-content:center}.played-wrap .played.ghost{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;z-index:0}.played-wrap .played:not(.ghost){position:relative;z-index:1}.oval .note.flow{max-width:94%;flex-wrap:wrap;justify-content:center;text-align:center}#root .hint-line.keep{text-align:center}@media(min-width:700px){.hint-line.keep{display:block;grid-area:hint;padding-bottom:6px;font-size:14px}}.board-area{scrollbar-width:none}.board-area::-webkit-scrollbar{display:none}.oval .lock-badge.in-oval,.oval .rev-badge.in-oval{margin:0;font-size:11px;padding:3px 12px}@media(min-width:700px){.oval .lock-badge.in-oval,.oval .rev-badge.in-oval{font-size:13px;padding:4px 14px}}.finish-note{margin:auto;text-align:center;font-size:14px;font-weight:800;color:#8a6d1a;background:#f6ecce;border:1px solid #e2cf96;border-radius:999px;padding:10px 22px;align-self:center}@media(min-width:700px){.finish-note{font-size:16px}}.waking{margin-top:10px;background:#fdf3d8;color:#8a6d1a;border:1px solid #e8d59a;border-radius:12px;padding:9px 14px;font-size:12px;font-weight:700;line-height:1.6}.self-av{position:relative;display:inline-flex}.bubble.al{left:0;transform:translate(0)}.self-av .bubble{top:-32px}.self-av .bubble.talk{top:-40px}.cards .card{touch-action:pan-x}.stats-line{text-align:center;font-size:12px;font-weight:800;color:#8a6d1a;margin:-4px 0 10px}.ranking .avg-rank{margin-left:auto;font-style:normal;font-size:11px;font-weight:700;color:#97917f;white-space:nowrap}.ranking .avg-rank+.rlabel{margin-left:8px}.ranking .avg-rank:empty{display:none}.ranking .result-name{min-width:0;overflow-wrap:anywhere}.ranking .ranking-stats{margin-left:auto;display:flex;align-items:center;gap:7px;flex:0 0 auto}.ranking .previous-rank{font-style:normal;font-size:11px;font-weight:700;color:#9a7d3d;background:#f7efd8;border-radius:999px;padding:2px 7px;white-space:nowrap}@media(max-width:440px){.ranking li{gap:7px;font-size:14px}.ranking .medal{width:32px;font-size:17px}.ranking .ranking-stats{gap:4px}.ranking .avg-rank,.ranking .previous-rank{font-size:10px}.ranking .previous-rank{padding:2px 5px}}.reload-fab{position:absolute;left:8px;bottom:6px;z-index:3;width:32px;height:32px;border-radius:50%;background:#ffffff40;font-size:15px;line-height:1;display:grid;place-items:center}.reload-fab:active{background:#ffffff80}@media(min-width:700px){.reload-fab{left:16px;bottom:12px;width:36px;height:36px;font-size:17px}}.solo{display:block;width:100%;margin-top:10px;background:var(--teal);color:#fff;font-weight:800;font-size:15px;border-radius:999px;padding:12px;box-shadow:0 4px 0 var(--teal-d)}.solo:active{transform:translateY(2px);box-shadow:0 2px 0 var(--teal-d)}@media(max-width:520px){.board-area{gap:5px;padding:2px 6px 6px}.turn-banner.mine{padding:5px 14px;font-size:13px}.turn-banner.other{padding:5px 14px;font-size:12px}.oval{width:calc(100vw - 34px);max-width:370px;height:clamp(112px,31vw,126px)}.table-card,.play-stack-flyer{width:clamp(48px,14vw,58px);height:clamp(68px,20vw,82px)}.table-card{flex-basis:clamp(48px,14vw,58px);border-width:3px;border-radius:8px}.table-card:before{width:clamp(80px,23vw,96px);height:clamp(31px,9vw,36px);top:clamp(18px,5.5vw,22px);left:clamp(-20px,-4.8vw,-16px)}.table-card b{left:4px;top:2px;font-size:clamp(15px,4.3vw,17px)}.table-card span{font-size:clamp(25px,7.2vw,29px)}.table-card .wild-symbol{font-size:11px}.table-card .wild-four{top:2px;right:3px;font-size:13px}.deck-card{left:18px;top:-45px;width:clamp(46px,13vw,54px);height:clamp(66px,18.5vw,76px);border-width:3px;border-radius:8px;font-size:16px}.deck-card small{margin-top:6px;font-size:8px}.hand{padding:7px 8px max(8px,env(safe-area-inset-bottom))}.cards{min-height:82px;padding:15px 5px 5px}.cards>button{margin-right:-9px;border-radius:8px}.cards>button.drawn-pending{margin-left:12px}.cards .lasca-card:not(.table-card){width:clamp(44px,12.5vw,52px);height:clamp(63px,18vw,74px);flex-basis:clamp(44px,12.5vw,52px);border-width:3px;border-radius:8px}.cards .lasca-card:not(.table-card):before{width:clamp(74px,21vw,87px);height:clamp(30px,8.5vw,35px);top:clamp(17px,4.8vw,20px);left:clamp(-18px,-4.5vw,-15px)}.cards .lasca-card:not(.table-card) b{left:4px;top:2px;font-size:clamp(14px,4vw,16px)}.cards .lasca-card:not(.table-card) span{font-size:clamp(23px,6.6vw,27px)}.cards .lasca-card:not(.table-card) .wild-symbol{font-size:10px}.cards .lasca-card:not(.table-card) .wild-four{top:2px;right:3px;font-size:13px}.cards>button:not(:disabled):hover .lasca-card,.lasca-card.playable{transform:translateY(-8px)}.cards>button.selected .lasca-card{transform:translateY(-9px)}}@media(max-width:360px){.players.ring.crowd{gap:1px;padding-left:2px;padding-right:2px}.players.crowd .seat-wrap{gap:0}.players.crowd .turn-arrow{width:5px;font-size:8px}.players.crowd .opp{width:37px;min-width:37px;padding-left:0;padding-right:0}.players.crowd .opp .fan{height:10px}.players.crowd .opp .fan i{width:7px;height:10px}.players.crowd .opp .avatar{width:19px;height:19px;font-size:10px}.players.crowd .opp .nm,.players.crowd .opp .ct{font-size:6.5px}.players.crowd .opp .ct b{font-size:8px}.oval{width:calc(100vw - 26px)}.deck-card{left:14px;top:-41px}.cards{padding-top:14px}.cards>button{margin-right:-8px}}
