:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#2f302c;background:#aeb9a6;font-synthesis:none;--paper-bg: #aeb9a6;--paper: #f2efe7;--paper-soft: #e9e5da;--paper-blue: #dce6ec;--paper-yellow: #eee6c9;--paper-green: #dce8d7;--paper-red: #ecd8da;--ink: #2f302c;--ink-soft: #686960;--line: #77766e;--line-soft: #b7b3aa;--pastel-red: #d98d93;--pastel-blue: #8faed0;--pastel-green: #91b99a;--pastel-yellow: #dcc47e;--pastel-purple: #ada2c8;--pastel-red-dark: #da747d;--pastel-blue-dark: #6c9ccf;--pastel-green-dark: #6bb67d;--pastel-yellow-dark: #d6b75a;--pastel-purple-dark: #927cc9;--paper-edge: polygon( .4% 1.2%, 8% .7%, 17% 1.2%, 27% .6%, 38% 1.1%, 49% .7%, 61% 1.2%, 72% .6%, 84% 1.1%, 92% .7%, 99.5% 1.1%, 99.2% 13%, 99.6% 27%, 99.1% 41%, 99.5% 55%, 99.1% 70%, 99.6% 85%, 99.3% 98.8%, 91% 99.3%, 80% 98.8%, 69% 99.4%, 57% 98.9%, 45% 99.3%, 34% 98.8%, 23% 99.4%, 12% 98.9%, .6% 99.2%, .9% 84%, .4% 70%, .8% 56%, .3% 42%, .9% 28%, .4% 14% );--paper-texture: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='120' viewBox='0 0 180 120'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M-12 24 Q26 17 58 25 T121 23 T193 29' stroke='%23c9c5bb' stroke-width='.8' opacity='.34'/%3E%3Cpath d='M-10 76 Q31 66 64 78 T129 74 T193 80' stroke='%23d2cec4' stroke-width='.7' opacity='.3'/%3E%3Cpath d='M48 -12 Q56 19 47 48 T52 89 T46 132' stroke='%23d7d3c9' stroke-width='.8' opacity='.28'/%3E%3Cpath d='M139 -12 Q128 20 140 51 T132 92 T140 132' stroke='%23c3bfb5' stroke-width='.7' opacity='.24'/%3E%3C/g%3E%3C/svg%3E")}*{box-sizing:border-box}html,body{min-height:100%;background:var(--paper-bg)}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:var(--paper-bg)}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}main{min-height:100vh;padding:24px}main.in-game{padding:18px}.home-shell{width:min(100%,460px);margin:7vh auto 0}.brand-card{display:flex;align-items:center;gap:16px;margin-bottom:24px}.brand-card h1,.winner-banner h2{margin:2px 0 0;color:var(--ink);font-size:clamp(2rem,8vw,3.2rem);line-height:1}.logo-mark{display:grid;width:72px;height:72px;place-items:center;border-radius:5px;background:var(--paper);color:var(--ink);font-size:2rem;font-weight:900;clip-path:var(--paper-edge);filter:drop-shadow(1px 0 0 var(--line)) drop-shadow(-1px 0 0 var(--line)) drop-shadow(0 1px 0 var(--line)) drop-shadow(0 -1px 0 var(--line));transform:rotate(-8deg)}.eyebrow{color:var(--ink-soft);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.panel,.waiting-card,.winner-banner,.board,.hand-area,.toast{border:0;border-radius:5px;background-color:var(--paper);color:var(--ink);clip-path:var(--paper-edge);filter:drop-shadow(1px 0 0 var(--line)) drop-shadow(-1px 0 0 var(--line)) drop-shadow(0 1px 0 var(--line)) drop-shadow(0 -1px 0 var(--line)) drop-shadow(0 5px 6px rgba(68,67,61,.14))}.panel{width:min(100%,560px);margin:4vh auto 0;padding:24px}.home-panel{display:grid;gap:14px}label{display:grid;gap:8px;color:var(--ink-soft);font-size:.82rem;font-weight:700}input{width:100%;min-height:52px;padding:0 15px;clip-path:var(--paper-edge);border:none;border-radius:5px;outline:none;background:#f8f6f0;color:var(--ink);transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}input:focus{border-color:#868078;background:#fffdf7;box-shadow:0 0 0 2px #6f6b631f}.code-input{font-size:1.3rem;font-weight:900;letter-spacing:.2em;text-align:center}.primary-button,.secondary-button{min-height:50px;padding:0 18px;border:none;border-radius:5px;color:var(--ink);font-weight:800;cursor:pointer;transition:transform .11s ease,background .12s ease,box-shadow .12s ease;clip-path:var(--paper-edge)}.primary-button{background:var(--pastel-blue-dark)}.secondary-button{background:var(--pastel-yellow-dark)}.primary-button:not(:disabled):hover,.secondary-button:not(:disabled):hover{box-shadow:0 10px #42403aad}.primary-button:not(:disabled):active,.secondary-button:not(:disabled):active{box-shadow:none}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.48}.compact-button{min-height:40px;padding:0 14px}.divider{display:flex;align-items:center;gap:12px;color:var(--ink-soft);font-size:.76rem;text-transform:uppercase}.divider:before,.divider:after{flex:1;height:1px;background:var(--line-soft);content:""}.connection-state{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;color:var(--ink-soft);font-size:.78rem}.connection-state span{width:8px;height:8px;border-radius:5px;background:var(--pastel-red)}.connection-state.online span{background:var(--pastel-green)}.lobby-panel{display:grid;gap:18px}.room-code{margin-top:-10px;color:var(--ink);font-size:clamp(2.8rem,14vw,5rem);font-weight:950;letter-spacing:.14em;line-height:1}.section-heading,.hand-header,.game-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading h2{margin:0}.section-heading span{color:var(--ink-soft);font-weight:800}.player-list{display:grid;gap:8px}.player-row{display:flex;align-items:center;gap:12px;min-height:58px;padding:9px 12px;border-radius:5px;background:#ece8de}.avatar{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line-soft);border-radius:5px;background:#f6f3eb;color:var(--ink);font-weight:900}.player-name{flex:1;color:var(--ink);font-weight:750}.host-badge{padding:5px 9px;border:1px solid #968ead;border-radius:5px;background:#ded8eb;color:#544f63;font-size:.7rem;font-weight:850;text-transform:uppercase}.hint,.waiting-card{margin:0;color:var(--ink-soft);font-size:.84rem;text-align:center}.waiting-card{padding:18px}.game-layout{display:grid;gap:18px;max-width:1500px;margin:0 auto}.game-topbar{align-items:flex-start}.player-pills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.player-pill{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line-soft);border-radius:5px;background:var(--paper-soft);color:var(--ink-soft);font-size:.76rem}.player-pill.active{border-color:#9288aa;background:#e3ddec;color:var(--ink)}.player-pill b{display:grid;min-width:23px;height:23px;place-items:center;border-radius:5px;background:#d7d2c8;color:var(--ink)}.winner-banner{display:flex;align-items:center;gap:18px;padding:18px 20px;background-color:#e5deed}.winner-banner h2{flex:1;font-size:1.7rem}.board-scroll,.hand-scroll{overflow-x:auto;scrollbar-width:thin}.board{display:grid;gap:10px;min-width:1080px;padding:16px}.board-row{display:grid;grid-template-columns:42px 1fr;gap:8px}.color-label,.board-slot{display:grid;place-items:center;border-radius:5px;font-weight:900}.color-label{min-height:48px;color:var(--ink)}.board-cards{display:grid;grid-template-columns:repeat(20,minmax(42px,1fr));gap:4px}.board-slot{min-height:48px;border:1px dashed #9f9b92;color:#8b887f}.board-slot.played{border-style:solid;color:var(--ink)}.red.played,.color-label.red,.card.red{border-color:var(--pastel-red)}.blue.played,.color-label.blue,.card.blue{border-color:var(--pastel-blue)}.green.played,.color-label.green,.card.green{border-color:var(--pastel-green)}.yellow.played,.color-label.yellow,.card.yellow{border-color:var(--pastel-yellow);color:#39372f}.hand-area{display:grid;gap:12px;padding:16px}.hand{display:flex;gap:10px;min-width:max-content;padding:8px 3px 10px}.card{position:relative;display:grid;width:82px;height:118px;place-items:center;border:5px white solid;border-radius:5px;color:#34342f;font-size:1.55rem;font-weight:950;opacity:.58;filter:drop-shadow(1px 0 0 #6f6c65) drop-shadow(-1px 0 0 #6f6c65) drop-shadow(0 1px 0 #6f6c65) drop-shadow(0 -1px 0 #6f6c65) drop-shadow(0 5px 5px rgba(54,52,47,.18));transform-origin:bottom center;transition:transform .13s ease,opacity .13s ease,filter .13s ease;background-color:var(--paper-soft);outline:none}.card span{border-radius:9999px;width:50px;height:50px;display:flex;justify-content:center;align-items:center}.card.blue span{background-color:var(--pastel-blue)}.card.green span{background-color:var(--pastel-green)}.card.red span{background-color:var(--pastel-red)}.card.yellow span{background-color:var(--pastel-yellow)}.card.playable{cursor:pointer;opacity:1;transform:translateY(-4px)}.card.playable:hover{transform:translateY(-8px) scale(1.02)}.card:disabled{cursor:default}.toast{position:fixed;right:18px;bottom:18px;z-index:20;max-width:min(390px,calc(100vw - 36px));padding:13px 16px;font-size:.86rem;font-weight:700}.error-toast{background-color:var(--paper-red);color:#653e42}.info-toast{background-color:var(--paper-blue);color:var(--ink)}@media(max-width:720px){main,main.in-game{padding:14px}.home-shell{margin-top:3vh}.panel{padding:18px}.game-topbar{display:grid}.player-pills{justify-content:flex-start}.winner-banner{align-items:flex-start;flex-wrap:wrap}.winner-banner h2{min-width:55%}.card{width:70px;height:102px}}html.samsung-internet,html.samsung-internet body,html.samsung-internet #app,html.samsung-internet main{color-scheme:only light!important;forced-color-adjust:none!important;background-color:#aeb9a6!important;color:#2f302c!important;-webkit-text-fill-color:#2f302c}html.samsung-internet *{color-scheme:only light!important;forced-color-adjust:none!important}html.samsung-internet .brand-card h1,html.samsung-internet .room-code,html.samsung-internet .player-name,html.samsung-internet .section-heading h2,html.samsung-internet .entry-section-copy h2,html.samsung-internet .profile-copy strong,html.samsung-internet .rule-copy strong,html.samsung-internet .seat-name,html.samsung-internet .side-visible-card,html.samsung-internet .center-card,html.samsung-internet .table-flight-card{color:#2f302c!important;-webkit-text-fill-color:#2f302c!important}html.samsung-internet .eyebrow,html.samsung-internet .profile-copy span,html.samsung-internet .rule-copy span,html.samsung-internet .hint,html.samsung-internet .connection-state,html.samsung-internet .section-heading span{color:#686960!important;-webkit-text-fill-color:#686960!important}html.samsung-internet .logo-mark,html.samsung-internet .panel,html.samsung-internet .waiting-card,html.samsung-internet .name-dialog,html.samsung-internet .confirm-dialog{background-color:#f2efe7!important;color:#2f302c!important}html.samsung-internet .profile-row,html.samsung-internet .player-row,html.samsung-internet .rule-option{background-color:#ece8de!important;color:#2f302c!important}html.samsung-internet .host-section{background-color:#dce6ec!important}html.samsung-internet .join-section{background-color:#eee6c9!important}html.samsung-internet input,html.samsung-internet .join-code-input{background-color:#f8f6f0!important;color:#2f302c!important;-webkit-text-fill-color:#2f302c!important}html.samsung-internet .primary-button{background-color:#6c9ccf!important;color:#2f302c!important;-webkit-text-fill-color:#2f302c!important}html.samsung-internet .secondary-button{background-color:#d6b75a!important;color:#2f302c!important;-webkit-text-fill-color:#2f302c!important}html.samsung-internet .edit-name-button,html.samsung-internet .game-end-trigger,html.samsung-internet .host-transfer-button{background-color:#f2efe7!important;color:#56574f!important;-webkit-text-fill-color:#56574f!important}html.samsung-internet .host-badge,html.samsung-internet .active-seat .seat-name-wrap{background-color:#ded8eb!important;color:#544f63!important;-webkit-text-fill-color:#544f63!important}html.samsung-internet .seat-name-wrap{background-color:#e6e9df!important;color:#565b51!important;-webkit-text-fill-color:#565b51!important}html.samsung-internet .table-surface{background-color:#8fa78c!important}html.samsung-internet .draw-pile-card,html.samsung-internet .table-flight-back{background-color:#aaa3c6!important}html.samsung-internet .side-visible-card,html.samsung-internet .center-card,html.samsung-internet .table-flight-card,html.samsung-internet .card{background-color:#e9e5da!important;color:#34342f!important;-webkit-text-fill-color:#34342f!important}html.samsung-internet .side-visible-card.red,html.samsung-internet .center-card.red,html.samsung-internet .table-flight-card.red,html.samsung-internet .card.red{border-color:#d98d93!important}html.samsung-internet .side-visible-card.blue,html.samsung-internet .center-card.blue,html.samsung-internet .table-flight-card.blue,html.samsung-internet .card.blue{border-color:#8faed0!important}html.samsung-internet .side-visible-card.green,html.samsung-internet .center-card.green,html.samsung-internet .table-flight-card.green,html.samsung-internet .card.green{border-color:#91b99a!important}html.samsung-internet .side-visible-card.yellow,html.samsung-internet .center-card.yellow,html.samsung-internet .table-flight-card.yellow,html.samsung-internet .card.yellow{border-color:#dcc47e!important}html.samsung-internet .side-visible-card.red span,html.samsung-internet .center-card.red span,html.samsung-internet .table-flight-card.red span,html.samsung-internet .card.red span{background-color:#d98d93!important}html.samsung-internet .side-visible-card.blue span,html.samsung-internet .center-card.blue span,html.samsung-internet .table-flight-card.blue span,html.samsung-internet .card.blue span{background-color:#8faed0!important}html.samsung-internet .side-visible-card.green span,html.samsung-internet .center-card.green span,html.samsung-internet .table-flight-card.green span,html.samsung-internet .card.green span{background-color:#91b99a!important}html.samsung-internet .side-visible-card.yellow span,html.samsung-internet .center-card.yellow span,html.samsung-internet .table-flight-card.yellow span,html.samsung-internet .card.yellow span{background-color:#dcc47e!important}.table-screen{width:100%;min-height:calc(100vh - 36px)}.table-surface{position:relative;width:min(100%,1180px);height:min(860px,calc(100vh - 36px));min-height:560px;margin:0 auto;overflow:hidden;border:1px solid #667461;border-radius:5px;background-color:#8fa78c;box-shadow:0 6px 8px #2f352e2e}.seat{position:absolute;z-index:4;width:168px;height:116px;display:grid;place-items:center;transform-origin:center;opacity:.78;transition:opacity .18s ease,filter .18s ease,transform .18s ease}.seat.active-seat{opacity:1;filter:drop-shadow(0 3px 5px rgba(62,65,59,.18))}.seat-bottom{left:50%;bottom:18px;transform:translate(-50%)}.seat-top{left:50%;top:18px;transform:translate(-50%) rotate(180deg)}.seat-left,.seat-left-upper,.seat-left-lower{left:10px;transform:rotate(90deg)}.seat-right,.seat-right-upper,.seat-right-lower{right:10px;transform:rotate(-90deg)}.seat-left,.seat-right{top:50%;margin-top:-58px}.seat-left-upper,.seat-right-upper{top:24%}.seat-left-lower,.seat-right-lower{bottom:24%}.seat-top-left{left:31%;top:18px;transform:translate(-50%) rotate(180deg)}.seat-top-right{right:31%;top:18px;transform:translate(50%) rotate(180deg)}.pile-pair{display:flex;align-items:center;justify-content:center;gap:16px}.draw-pile-slot,.side-pile-slot{position:relative;display:grid;width:80px;height:120px;padding:0;place-items:center;border:0;border-radius:5px;outline:none;background:transparent;appearance:none}.draw-pile-slot:disabled,.side-pile-slot:disabled{cursor:default}.draw-pile-slot.draw-selectable{cursor:pointer}.draw-pile-slot.draw-selectable:after,.valid-target:after{position:absolute;inset:-6px;z-index:-1;border:2px solid #d8c67f;border-radius:5px;clip-path:var(--paper-edge);content:""}.draw-pile-shadow,.draw-pile-card,.side-visible-card,.center-card,.table-flight-card,.table-flight-back{border-radius:5px;overflow:hidden}.draw-pile-shadow,.draw-pile-card{position:absolute;width:80px;height:120px}.draw-pile-shadow{background:#ded9cf;filter:drop-shadow(1px 0 0 #77736b) drop-shadow(-1px 0 0 #77736b) drop-shadow(0 1px 0 #77736b) drop-shadow(0 -1px 0 #77736b)}.shadow-two{transform:translate(5px,-4px)}.shadow-one{transform:translate(2px,-2px)}.draw-pile-card,.table-flight-back{background-color:#aaa3c6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath d='M-5 9 L9 -5 M0 30 L30 0 M21 35 L35 21' stroke='%23d9d3e5' stroke-width='2' opacity='.35'/%3E%3C/svg%3E");filter:drop-shadow(1px 0 0 #696273) drop-shadow(-1px 0 0 #696273) drop-shadow(0 1px 0 #696273) drop-shadow(0 -1px 0 #696273) drop-shadow(0 5px 5px rgba(50,48,55,.18))}.pile-count{position:absolute;right:-7px;bottom:-4px;z-index:7;display:grid;min-width:26px;height:26px;padding:0 6px;place-items:center;border:1px solid #8b877e;border-radius:5px;background:#f1eee6;color:#34342f;font-size:.72rem;font-weight:900;line-height:1}.side-count{background:#ded9cf}.side-visible-card,.center-card{display:grid;width:80px;height:120px;place-items:center;color:#34342f;font-size:1.15rem;font-weight:950;filter:drop-shadow(1px 0 0 #6f6c65) drop-shadow(-1px 0 0 #6f6c65) drop-shadow(0 1px 0 #6f6c65) drop-shadow(0 -1px 0 #6f6c65) drop-shadow(0 5px 5px rgba(54,52,47,.18));border:5px white solid}.table-flight-card span,.center-card span,.side-visible-card span{border-radius:9999px;width:50px;height:50px;display:flex;justify-content:center;align-items:center}.table-flight-card.blue span,.center-card.blue span,.side-visible-card.blue span{background-color:var(--pastel-blue)}.table-flight-card.green span,.center-card.green span,.side-visible-card.green span{background-color:var(--pastel-green)}.table-flight-card.red span,.center-card.red span,.side-visible-card.red span{background-color:var(--pastel-red)}.table-flight-card.yellow span,.center-card.yellow span,.side-visible-card.yellow span{background-color:var(--pastel-yellow)}.side-pile-slot.active-source .side-visible-card{transform:translateY(-4px)}.valid-target{cursor:pointer!important;animation:target-pulse 1.05s ease-in-out infinite}.card-in-flight{opacity:0}.center-board{position:absolute;top:50%;left:50%;z-index:2;display:grid;gap:10px;transform:translate(-50%,-50%)}.center-row{display:grid;grid-template-columns:repeat(3,80px);gap:9px}.center-stack-slot{position:relative;display:grid;width:80px;height:120px;padding:0;place-items:center;border:1px dashed rgba(72,75,68,.5);border-radius:5px;outline:none;background:transparent;appearance:none}.center-stack-slot:disabled{cursor:default}.center-stack-slot.valid-target:before{border-color:transparent}.drawn-card-zone{position:absolute;left:50%;bottom:154px;z-index:8;transform:translate(-50%);pointer-events:none}.drawn-card-zone .card{width:82px;height:118px;opacity:1}.drawn-card-zone.card-in-flight,.drawn-card-zone.drawn-card-arriving{opacity:0}.finished-mark{position:absolute;top:50%;left:50%;z-index:9;font-size:clamp(3rem,9vw,6rem);transform:translate(-50%,-50%)}.table-flight-card,.table-flight-back{position:fixed;z-index:9999;display:grid;place-items:center;pointer-events:none;border:5px transparent solid}.table-flight-card{color:#34342f;font-size:1.2rem;font-weight:950;transform:rotate(-3deg) scale(1.04)}.table-flight-back{transform:rotateY(0) scale(.94)}.table-flight-card.red,.center-card.red,.side-visible-card.red{background-color:var(--paper-soft);border-color:var(--pastel-red)}.table-flight-card.blue,.center-card.blue,.side-visible-card.blue{background-color:var(--paper-soft);border-color:var(--pastel-blue)}.table-flight-card.green,.center-card.green,.side-visible-card.green{background-color:var(--paper-soft);border-color:var(--pastel-green)}.table-flight-card.yellow,.center-card.yellow,.side-visible-card.yellow{background-color:var(--paper-soft);border-color:var(--pastel-yellow);color:#39372f}.recycle-flight{transition:left .34s cubic-bezier(.22,.85,.25,1),top .34s cubic-bezier(.22,.85,.25,1),transform .34s cubic-bezier(.22,.85,.25,1)}@keyframes target-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@media(max-width:760px){.table-screen{min-height:calc(100dvh - 28px)}.table-surface{width:100%;height:calc(100dvh - 28px);min-height:520px;border-radius:5px}.seat{width:144px;height:102px}.seat-bottom{bottom:6px}.seat-top,.seat-top-left,.seat-top-right{top:6px}.seat-left,.seat-left-upper,.seat-left-lower{left:-8px}.seat-right,.seat-right-upper,.seat-right-lower{right:-8px}.seat-top-left{left:34%}.seat-top-right{right:34%}.pile-pair{gap:10px}.draw-pile-slot,.side-pile-slot,.center-stack-slot{width:56px;height:81px}.draw-pile-shadow,.draw-pile-card,.side-visible-card,.center-card{width:53px;height:76px;border-radius:5px;overflow:hidden}.center-row{grid-template-columns:repeat(3,56px);gap:6px}.center-board{gap:6px}.center-card{font-size:1rem}.drawn-card-zone{bottom:124px}.drawn-card-zone .card{width:68px;height:98px}.pile-count{min-width:22px;height:22px;font-size:.64rem}}@media(max-width:760px)and (orientation:portrait){.table-screen{width:calc(100% + 18px);min-height:calc(100dvh - 10px);margin-left:-9px}.table-surface{height:calc(100dvh - 10px);min-height:620px}.seat{width:118px;height:86px}.seat-bottom{bottom:10px}.seat-top,.seat-top-left,.seat-top-right{top:10px}.seat-top-left{left:31%}.seat-top-right{right:31%}.seat-left,.seat-left-upper,.seat-left-lower{left:-15px}.seat-right,.seat-right-upper,.seat-right-lower{right:-15px}.seat-left,.seat-right{top:50%;margin-top:-43px}.seat-left-upper,.seat-right-upper{top:18%}.seat-left-lower,.seat-right-lower{bottom:18%}.pile-pair{gap:6px}.draw-pile-slot,.side-pile-slot{width:52px;height:76px}.draw-pile-shadow,.draw-pile-card,.side-visible-card{width:50px;height:73px}.side-visible-card,.center-card{border-width:3px}.table-flight-card span,.center-card span,.side-visible-card span{width:34px;height:34px}.center-board{gap:5px}.center-row{grid-template-columns:repeat(3,46px);gap:5px}.center-stack-slot{width:46px;height:68px}.center-card{width:44px;height:66px;font-size:.88rem}.pile-count{right:-5px;bottom:-4px;min-width:20px;height:20px;padding:0 4px;font-size:.58rem}.draw-pile-slot.draw-selectable:after,.valid-target:after{inset:-4px}}@media(max-width:430px)and (orientation:portrait){.seat{width:110px;height:82px}.seat-left,.seat-left-upper,.seat-left-lower{left:-17px}.seat-right,.seat-right-upper,.seat-right-lower{right:-17px}.seat-left-upper,.seat-right-upper{top:18%}.seat-left-lower,.seat-right-lower{bottom:18%}.draw-pile-slot,.side-pile-slot{width:49px;height:72px}.draw-pile-shadow,.draw-pile-card,.side-visible-card{width:47px;height:69px}.center-row{grid-template-columns:repeat(3,43px);gap:4px}.center-stack-slot{width:43px;height:64px}.center-card{width:41px;height:62px;font-size:.84rem}}.table-flight-card{transition-property:left,top,width,height,transform;transition-duration:.65s;transition-timing-function:cubic-bezier(.2,.8,.2,1)}.table-target-cover,.table-source-back,.table-flip-card{position:fixed;pointer-events:none;transform-origin:center}.table-target-cover{z-index:9998;display:grid;place-items:center;overflow:hidden;border:5px solid white;border-radius:5px;background-color:var(--paper-soft);color:#34342f;font-size:1.15rem;font-weight:950;filter:drop-shadow(1px 0 0 #6f6c65) drop-shadow(-1px 0 0 #6f6c65) drop-shadow(0 1px 0 #6f6c65) drop-shadow(0 -1px 0 #6f6c65) drop-shadow(0 5px 5px rgba(54,52,47,.18))}.table-target-cover.empty-target-cover{border:0;background-color:#8fa78c;filter:none}.table-target-cover span,.table-flip-front span{display:flex;width:50px;height:50px;align-items:center;justify-content:center;border-radius:9999px}.table-target-cover.red,.table-flip-front.red{border-color:var(--pastel-red)}.table-target-cover.red span,.table-flip-front.red span{background-color:var(--pastel-red)}.table-target-cover.blue,.table-flip-front.blue{border-color:var(--pastel-blue)}.table-target-cover.blue span,.table-flip-front.blue span{background-color:var(--pastel-blue)}.table-target-cover.green,.table-flip-front.green{border-color:var(--pastel-green)}.table-target-cover.green span,.table-flip-front.green span{background-color:var(--pastel-green)}.table-target-cover.yellow,.table-flip-front.yellow{border-color:var(--pastel-yellow);color:#39372f}.table-target-cover.yellow span,.table-flip-front.yellow span{background-color:var(--pastel-yellow)}.table-source-back,.table-flip-back{border-radius:5px;background-color:#aaa3c6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath d='M-5 9 L9 -5 M0 30 L30 0 M21 35 L35 21' stroke='%23d9d3e5' stroke-width='2' opacity='.35'/%3E%3C/svg%3E");filter:drop-shadow(1px 0 0 #696273) drop-shadow(-1px 0 0 #696273) drop-shadow(0 1px 0 #696273) drop-shadow(0 -1px 0 #696273) drop-shadow(0 5px 5px rgba(50,48,55,.18))}.table-source-back{z-index:9997}.table-flip-card{z-index:10000;perspective:900px}.table-flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.25,.72,.22,1)}.table-flip-inner.flipped{transform:rotateY(180deg)}.table-flip-face{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;border:5px solid white;border-radius:5px;backface-visibility:hidden;-webkit-backface-visibility:hidden}.table-flip-back{border-color:transparent}.table-flip-front{background-color:var(--paper-soft);color:#34342f;font-size:1.15rem;font-weight:950;transform:rotateY(180deg);filter:drop-shadow(1px 0 0 #6f6c65) drop-shadow(-1px 0 0 #6f6c65) drop-shadow(0 1px 0 #6f6c65) drop-shadow(0 -1px 0 #6f6c65) drop-shadow(0 5px 5px rgba(54,52,47,.18))}.table-flight-card{margin:0!important;transform-origin:center!important;transition-property:left,top,transform!important;font-size:1.15rem!important}.table-target-cover,.table-source-back,.table-flip-card{margin:0!important;transform-origin:center!important}.animation-count-mirror{position:fixed!important;right:auto!important;bottom:auto!important;z-index:10050!important;margin:0!important;pointer-events:none!important;transform-origin:center!important}@media(max-width:760px)and (orientation:portrait){.table-flight-card span,.table-target-cover span,.table-flip-front span{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;max-width:34px!important;max-height:34px!important;flex:0 0 34px!important}}.rules-heading{margin-top:4px}.room-rules{display:grid;gap:8px}.rule-option{position:relative;display:flex;align-items:center;gap:14px;min-height:64px;padding:11px 12px;border:0;border-radius:5px;background-color:#ece8de;background-image:var(--paper-texture);color:var(--ink);clip-path:var(--paper-edge);filter:drop-shadow(1px 0 0 #817d74) drop-shadow(-1px 0 0 #817d74) drop-shadow(0 1px 0 #817d74) drop-shadow(0 -1px 0 #817d74);cursor:pointer}.rule-option.readonly{cursor:default;opacity:.72}.rule-copy{display:grid;flex:1;gap:3px}.rule-copy strong{color:var(--ink);font-size:.86rem}.rule-copy span{color:var(--ink-soft);font-size:.74rem;font-weight:500;line-height:1.35}.rule-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.rule-switch{position:relative;flex:0 0 auto;width:42px;height:24px;border:1px solid #8c887f;border-radius:5px;background:#d5d0c5;transition:background .15s ease}.rule-switch:after{position:absolute;top:3px;left:3px;width:16px;height:16px;border:1px solid #8f8b82;border-radius:5px;background:#f6f3eb;content:"";transition:transform .15s ease,background .15s ease}.rule-option input:checked+.rule-switch{background:#b8accf}.rule-option input:checked+.rule-switch:after{background:#f6f2fb;transform:translate(18px)}.host-transfer-button{display:grid;width:34px;height:34px;flex:0 0 auto;padding:0;place-items:center;border:1px solid #8a867d;border-radius:5px;background:#f0ede5;color:#5e5f57;cursor:pointer;transition:transform .11s ease,background .12s ease}.host-transfer-button:hover{background:#ded8eb;color:var(--ink);transform:translateY(-1px)}.host-transfer-button svg{width:17px;height:17px;fill:currentColor}.seat-name-wrap{position:absolute;top:-2px;left:50%;z-index:12;display:flex;align-items:center;gap:6px;max-width:145px;padding:5px 9px;border:1px solid #7e8377;border-radius:5px;background:#e6e9df;color:#565b51;font-size:.72rem;font-weight:800;line-height:1;transform:translate(-50%,-100%);transition:color .16s ease,background .16s ease,box-shadow .16s ease}.seat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.turn-indicator{width:7px;height:7px;flex:0 0 auto;border-radius:5px;background:#999d93;transition:background .16s ease,box-shadow .16s ease}.turn-indicator.active{background:#9c91bb;box-shadow:0 0 0 2px #7e749d2e;animation:turn-pulse 1.25s ease-in-out infinite}.active-seat .seat-name-wrap{background:#ddd7e9;color:var(--ink);box-shadow:0 3px 7px #36353024}.seat-top .seat-name-wrap,.seat-top-left .seat-name-wrap,.seat-top-right .seat-name-wrap{transform:translate(-50%,-100%) rotate(180deg)}.seat-left .seat-name-wrap,.seat-left-upper .seat-name-wrap,.seat-left-lower .seat-name-wrap{transform:translate(-50%,-100%) rotate(-90deg)}.seat-right .seat-name-wrap,.seat-right-upper .seat-name-wrap,.seat-right-lower .seat-name-wrap{transform:translate(-50%,-100%) rotate(90deg)}@keyframes turn-pulse{0%,to{opacity:1}50%{opacity:.58}}@media(max-width:760px){.seat-name-wrap{max-width:104px;padding:4px 6px;font-size:.62rem}.turn-indicator{width:6px;height:6px}}@media(max-width:430px)and (orientation:portrait){.seat-name-wrap{max-width:88px;gap:4px;padding:3px 5px;font-size:.57rem}.turn-indicator{width:5px;height:5px}}.entry-shell{width:min(100%,560px);margin:0 auto}.compact-brand{margin-bottom:28px}.profile-row,.entry-section,.name-dialog,.confirm-dialog,.winner-dialog{border:0;border-radius:5px;background-color:var(--paper);background-image:var(--paper-texture);color:var(--ink);clip-path:var(--paper-edge);filter:drop-shadow(1px 0 0 var(--line)) drop-shadow(-1px 0 0 var(--line)) drop-shadow(0 1px 0 var(--line)) drop-shadow(0 -1px 0 var(--line)) drop-shadow(0 5px 6px rgba(68,67,61,.14))}.profile-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:30px;padding:16px 18px;background-color:#ece8de}.profile-copy{display:grid;gap:4px;min-width:0}.profile-copy span{color:var(--ink-soft);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.profile-copy strong{overflow:hidden;color:var(--ink);font-size:1.08rem;text-overflow:ellipsis;white-space:nowrap}.edit-name-button,.game-end-trigger{display:grid;width:40px;height:40px;flex:0 0 auto;padding:0;place-items:center;border:1px solid #88847b;border-radius:5px;background:#f2efe7;color:#56574f;cursor:pointer;transition:transform .11s ease,background .12s ease}.edit-name-button:hover,.game-end-trigger:hover{background:var(--paper-blue);color:var(--ink);transform:translateY(-1px)}.edit-name-button svg,.game-end-trigger svg{width:18px;height:18px;fill:currentColor}.entry-section{display:grid;gap:18px;padding:24px}.entry-section+.entry-section{margin-top:28px}.host-section{background-color:var(--paper-blue);transform:rotate(2deg)}.join-section{background-color:var(--paper-yellow);transform:rotate(-3deg)}.entry-section-copy{display:grid;gap:4px}.entry-section-copy h2{margin:0;color:var(--ink);font-size:1.18rem}.entry-main-button{min-height:54px;font-size:1rem}.join-code-input{width:100%;min-height:56px;text-align:center;font-size:1.2rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.entry-connection{margin-top:24px}.dialog-overlay,.winner-overlay{position:fixed;inset:0;z-index:10000;display:grid;padding:20px;place-items:center;background:#4b4e466b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.name-dialog,.confirm-dialog,.winner-dialog{display:grid;width:min(100%,400px);gap:20px;padding:30px}.name-dialog h2,.confirm-dialog h2,.winner-dialog h2{margin:4px 0 0;color:var(--ink);font-size:clamp(1.55rem,6vw,2rem)}.name-dialog-input{width:100%;min-height:54px;font-size:1rem}.dialog-actions,.winner-actions{display:grid;gap:10px}.confirm-dialog p{margin:10px 0 0;color:var(--ink-soft);font-size:.9rem;line-height:1.45}.danger-button{width:100%;min-height:46px;padding:0 18px;border:1px solid #a67f84;border-radius:5px;background:var(--paper-red);color:#633f44;font:inherit;font-weight:800;cursor:pointer;transition:transform .11s ease,background .12s ease}.danger-button:hover{background:#e5c6c9;transform:translateY(-1px)}.game-end-trigger{position:fixed;top:18px;right:18px;z-index:9000}.winner-dialog{gap:10px;text-align:center;background-color:#e6dfec}.winner-crown{margin-bottom:2px;font-size:3rem;line-height:1}.winner-dialog h2{margin-bottom:12px;font-size:clamp(1.7rem,7vw,2.35rem)}@media(max-width:520px){.entry-shell{width:100%}.profile-row{margin-bottom:22px}.entry-section{padding:20px 18px}.entry-section+.entry-section{margin-top:22px}.name-dialog,.confirm-dialog,.winner-dialog{padding:24px 18px}.game-end-trigger{top:10px;right:10px}}
