.pp-felt{container-type:inline-size}
.pp-top,.pp-columns{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:clamp(2px,.55vw,8px);align-items:start;max-width:1050px;margin:0 auto}
.pp-columns{margin-top:20px}.pp-pile{min-width:0;min-height:75px}
.pp-card,.pp-slot{display:block;position:relative;width:100%;aspect-ratio:5/7;box-sizing:border-box;border-radius:6%;border:1px solid #c8bb9c}
.pp-card{background:linear-gradient(135deg,#fffff8,#f1e9d2);color:#242b28;padding:0;box-shadow:0 2px 4px #123b2b66;touch-action:none}.pp-card svg{width:100%;height:100%;display:block;pointer-events:none}
.pp-card.pp-red{color:#ae313e}.pp-columns .pp-card:not(:last-child){margin-bottom:-109%}.pp-slot{border:1px dashed #e0e9be88;background:#1c473a;color:#d7e8c6;font:clamp(14px,2.3vw,32px) Georgia}.pp-card.pp-back{opacity:1;background:repeating-linear-gradient(40deg,#55718b 0 3px,#354e68 3px 6px);box-shadow:inset 0 0 0 2px #e6dfc8}
.pp-picked,.pp-hover{outline:3px solid #e3ad4f!important;outline-offset:-3px}.pp-spider-status{display:flex;align-items:center;justify-content:space-between;color:#ecf0d8}
.board.pp-mahjong{display:block;position:relative;aspect-ratio:1.4;background:radial-gradient(ellipse at top,#5d9583,#284e42);border:8px solid #765c45}
.pp-mahtile{position:absolute;left:calc(2% + var(--x)*11.8% + var(--z)*.72%);top:calc(5% + var(--y)*15.4% - var(--z)*1.1%);width:11.4%;height:15%;z-index:calc(1 + var(--z));background:linear-gradient(145deg,#fff8d9,#e7d9bc);color:#283f3c;border-radius:8%;font:clamp(18px,6vmin,60px)/1 "Segoe UI Symbol",serif;box-shadow:0 3px 0 #b5a38a,0 6px 0 #487567,1px 8px 4px #142c2566;transition:filter .2s}
.pp-mahtile:disabled{opacity:1;filter:brightness(.81)}.pp-mahtile[data-suit="characters"]{color:#863b36}
.board.pp-peg{display:grid;grid-template:repeat(7,1fr)/repeat(7,1fr);border:10px solid #7c5035;padding:5%;border-radius:50%;background:radial-gradient(ellipse at 35% 25%,#c7a172,#946e46);gap:3px}
.pp-peg button{display:grid;place-items:center;border-radius:50%;background:none;touch-action:none}.pp-marble,.pp-hole{display:block;border-radius:50%;width:72%;aspect-ratio:1}.pp-marble{background:radial-gradient(circle at 32% 23%,#e4ffff 0%,#51b7b0 21%,#176760 56%,#123e42);box-shadow:2px 3px 3px #49332199}.pp-hole{background:radial-gradient(ellipse at bottom,#8d6e46,#59402b);box-shadow:0 1px 1px #ecd7a2,inset 1px 3px 4px #513e2f}.pp-target{outline:2px dashed #fff1a1;outline-offset:-7px}
.board.pp-picture{grid-template:repeat(6,1fr)/repeat(6,1fr);gap:2px;padding:8px;background:#587367}.pp-picture b{display:grid;place-content:center;text-align:center;background:#e4e5cc;color:#253c30;font-size:clamp(13px,3vw,30px);line-height:1}.pp-picture button{background:#faf5e4;color:#4a645b;font:clamp(16px,4vw,48px) system-ui}.pp-picture .pp-mark1{background:#284e48;box-shadow:inset 0 0 0 2px #96bba5}
.board.pp-search{grid-template:repeat(10,1fr)/repeat(10,1fr);background:#c7b38c;gap:1px;padding:6px}.pp-search button{background:#f6efdf;color:#283730;border-radius:3px;font:600 clamp(12px,3vmin,34px) Georgia;touch-action:none}
.pp-search .pp-found,.pp-words .pp-found{background:#c1dbbc;color:#284d43}.pp-words{display:flex;gap:6px;flex-wrap:wrap}.pp-words span{border:1px solid var(--line);border-radius:14px;padding:3px 8px;font-size:13px}.pp-words .pp-found{text-decoration:line-through}
.pp-ghost{position:fixed!important;inset:auto;pointer-events:none!important;z-index:1200;transform:translate(-50%,-60%) rotate(-3deg);margin:0!important}
