.home-scene,.pk-scene{padding:18px 8px 24px;text-align:center}.home-art{height:125px;margin:8px auto 2px;width:145px}.home-art svg{height:100%;width:100%}.home-kicker{letter-spacing:.19em;font-size:.69rem;color:#988ba7;margin:16px 0 9px}.home-scene h1{font-size:2rem;color:#63547a;margin:0 0 12px}.home-caption{color:#91869f;font-size:.87rem;line-height:1.7}.home-modes{display:grid;gap:16px;margin:24px 0}.home-mode{display:flex;align-items:center;flex-direction:column;gap:10px;padding:23px 18px;border:1px solid #d5e6de;border-radius:24px;background:linear-gradient(135deg,#f0faf4,#f8fcf9);color:#526e5f;box-shadow:0 8px 22px #53756108;cursor:pointer;min-height:177px;font:inherit}.home-mode strong{font-size:1.25rem}.home-mode>span:not(.home-mode-icon){font-size:.87rem}.home-mode small{color:#899b8d}.home-mode-icon{font-size:1.8rem}.home-mode.pk-mode{border-color:#e2d6ed;background:linear-gradient(135deg,#f3ebfa,#faf6fd);color:#7d6595}.pk-mode small{color:#a08aac}.home-mode:hover{transform:translateY(-2px);box-shadow:0 10px 26px #76618a12}.home-mode:focus-visible,.pk-board .cell:focus-visible{outline:3px solid #967fb2;outline-offset:3px}.pk-heading>span{font-size:2.1rem}.pk-heading h1{margin:8px 0 10px;color:#746087}.pk-heading p,.pk-status{color:#8b799b;font-size:.9rem;line-height:1.7}.pk-status{min-height:1.7em}.pk-actions .modal-primary,.pk-actions>.modal-secondary{width:100%}.pk-join{text-align:left;border-top:1px solid #e9e1ef;margin-top:24px;padding-top:18px}.pk-join label{display:block;color:#8c7b9d;font-size:.83rem;margin-bottom:8px}.pk-join>div{display:flex;gap:8px}.pk-join input,.pk-room input{min-width:0;border:1px solid #e2d7e9;border-radius:12px;padding:11px;color:#6d587e;background:#fff;font:inherit}.pk-join input{flex:1;width:50%;text-transform:uppercase}.pk-join button{flex-shrink:0;margin:0}.pk-room{padding:18px;border-radius:20px;background:#f5eff9;margin:18px 0}.pk-room>strong{display:block;font-size:1.7rem;letter-spacing:.16em;margin:12px}.pk-room input{width:100%;box-sizing:border-box;font-size:.75rem}.pk-room small{display:block;color:#9784a6}.pk-scoreboard{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:8px;margin:22px 0 6px;padding:18px 8px;background:#f5eff9;border-radius:22px}.pk-scoreboard>div{display:flex;flex-direction:column;gap:7px;justify-content:center;min-width:0}.pk-scoreboard span{overflow-wrap:anywhere;font-size:.79rem;color:#95809f}.pk-scoreboard strong{font-size:1.7rem;color:#79658a}.pk-scoreboard small{font-size:.67rem;color:#a794b3}.pk-timer strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.5rem}.pk-board{width:100%;aspect-ratio:1;margin:12px auto;gap:4px}.pk-board .cell{position:relative;min-width:0;min-height:0;aspect-ratio:1;touch-action:manipulation}.pk-board .cell>span{color:#886679;font-size:1.4rem}.pk-board .cell:disabled{opacity:1}.pk-result{padding:22px 12px}.pk-result>strong{font-size:2.1rem;color:#9074a6}.pk-result p{color:#9884a7;font-size:.86rem;line-height:1.7}#home-button{white-space:nowrap}#pk-round{font-size:.9rem;color:#9c88ae}#pk-message{min-height:1.5rem;color:#9472a6;font-size:.85rem}.pk-scene [hidden],.home-scene[hidden],.pk-scene[hidden],#general-scene[hidden]{display:none!important}@media(min-width:700px){.home-modes{grid-template-columns:1fr 1fr}.home-mode{padding:24px 10px}.home-mode>span:not(.home-mode-icon){font-size:.8rem}}@media(prefers-reduced-motion:reduce){.home-mode:hover{transform:none}}
.pk-board{touch-action:none;user-select:none;-webkit-user-select:none}.pk-board .cell{touch-action:none}.pk-board .cell.tap-pending{box-shadow:inset 0 0 0 3px #ffffffb5}
.pk-join button{width:auto;max-width:50%;padding-inline:14px}.pk-join input{flex-basis:0}.pk-room .modal-secondary{max-width:100%}
/* Compact layouts share the established theme, art and touch controls. */
.home-mode:not(.pk-mode){background:color-mix(in srgb,var(--modal-control,#f5faf6) 86%,#91bf9e 14%);border-color:color-mix(in srgb,var(--modal-control-border,#dde8df) 82%,#91bf9e 18%)}.home-mode.pk-mode{background:color-mix(in srgb,var(--modal-control,#f6f0fb) 91%,#a88cce 9%)}
.game-shell{width:min(100%,580px);padding:12px 18px;margin:0 auto}.web-toolbar{margin-bottom:8px;gap:6px}.web-toolbar button{min-height:34px;padding:5px 10px}.home-scene,.pk-scene{padding:10px 0 12px}.home-art{width:88px;height:76px;margin:0 auto}.home-kicker{margin:10px 0 6px;font-size:.61rem}.home-scene h1{font-size:1.65rem!important;margin-bottom:6px;color:var(--modal-ink,#51465f)}.home-caption{font-size:.8rem;line-height:1.5;margin:8px 0;color:var(--modal-muted,#7e6d8f)}.home-modes{gap:10px;margin:18px 0;grid-template-columns:1fr}.home-mode{display:grid;grid-template-columns:42px minmax(0,1fr);gap:5px 12px;min-height:0;padding:15px 18px;text-align:left;border-radius:18px;background:var(--modal-control,#f4f8f5);border-color:var(--modal-control-border,#dce6df);color:var(--modal-ink,#526e5f);box-shadow:none}.home-mode-icon{grid-column:1;grid-row:1/4;align-self:center;font-size:1.75rem}.home-mode strong{font-size:1rem}.home-mode>span:not(.home-mode-icon){font-size:.76rem;line-height:1.5}.home-mode small,.pk-mode small{font-size:.72rem;color:var(--modal-muted,#7e6d8f)}.home-mode.pk-mode{background:var(--modal-control,#f5effa);border-color:var(--modal-control-border,#e3d9ed);color:var(--modal-ink,#6c547e)}
.game-intro{margin:8px 0 0;padding:8px 0 0;font-size:11px}.game-intro summary{cursor:pointer;color:var(--modal-muted,#7e6d8f)}html[data-scene=general] .game-intro,html[data-scene=pk] .game-intro{display:none}.web-footer{font-size:10px;margin:5px 0}.web-state{display:flex;justify-content:center;flex-wrap:wrap;gap:3px 12px;font-size:10px;margin-top:4px}.web-state span{font-size:10px}.game-header{margin-bottom:8px}.status-strip{margin-bottom:8px}.board-wrap{max-width:min(100%,max(240px,calc(100svh - 260px)),400px)}.play-panel .tools{margin:6px auto;max-width:400px}.play-panel .items{max-width:400px;margin:6px auto}.play-panel .items button{min-height:52px;padding:7px}.play-panel .message{margin:4px 0;min-height:20px;font-size:12px}.play-panel .message:empty{display:none}.bottom-nav{margin-top:8px;padding:6px 0}.bottom-nav button{padding:6px 12px}.starter-note{font-size:12px;margin:5px 0}
.pk-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;text-align:left}.pk-heading h1{font-size:1.3rem!important;margin:0;color:var(--modal-ink,#51465f)}.pk-heading p{font-size:.73rem;margin:0;color:var(--modal-muted,#7e6d8f)}.pk-status{font-size:.76rem;line-height:1.4;min-height:0;margin:8px 0;color:var(--modal-muted,#7e6d8f)}.pk-status:empty{display:none}.pk-actions{text-align:left}.pk-option-card{padding:14px;border:1px solid var(--modal-control-border,#e4dbea);border-radius:16px;background:var(--modal-control,#f7f3fb);margin:10px 0;color:var(--modal-ink,#51465f)}.pk-option-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.pk-option-title h2{font-size:.94rem;margin:0}.pk-option-title>span,.pk-friend-options summary>span{font-size:.69rem;color:var(--modal-muted,#7e6d8f)}.pk-option-note{font-size:.73rem;line-height:1.5;color:var(--modal-muted,#7e6d8f);margin:6px 0 10px}.pk-friend-options summary{cursor:pointer;font-size:.9rem;font-weight:600}.pk-friend-options summary>span{float:right;font-weight:400}.pk-settings{padding-top:10px}.pk-toggle,.pk-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8rem;min-height:36px}.pk-toggle input{appearance:auto;accent-color:var(--modal-toggle-on,#9678b3);width:18px;height:18px;margin:0}.pk-setting select{font:inherit;color:var(--modal-ink,#51465f);background:var(--modal-surface,#fff);padding:6px 10px;border:1px solid var(--modal-control-border,#e4dbea);border-radius:9px;min-height:36px}.pk-option-card .modal-primary{width:100%;margin:8px 0 0;padding:10px;min-height:40px;font-size:.83rem;border-radius:11px}.pk-join{margin-top:12px;padding-top:12px}.pk-join label{font-size:.75rem;margin-bottom:6px}.pk-join input,.pk-room input{background:var(--modal-surface,#fff);color:var(--modal-ink,#51465f);border-color:var(--modal-control-border,#e4dbea)}.pk-join input{padding:9px;font-size:.83rem}.pk-join button{padding:9px 12px;font-size:.8rem}.pk-how{font-size:.72rem;color:var(--modal-muted,#7e6d8f);margin:10px 0;text-align:left;line-height:1.65}.pk-how summary{cursor:pointer}.pk-how p{margin:6px 0}.pk-room{padding:12px;margin:10px 0;background:var(--modal-control,#f5eff9);border-radius:14px;color:var(--modal-ink,#51465f)}.pk-room p{font-size:.8rem;margin:4px 0}.pk-room>strong{font-size:1.4rem;margin:9px 0}.pk-room .modal-secondary{font-size:.8rem;padding:9px;margin:8px 0}.pk-room small{font-size:.7rem;color:var(--modal-muted,#7e6d8f)}
.pk-scoreboard{padding:10px;margin:10px 0 4px;border-radius:15px;background:var(--modal-control,#f5eff9)}.pk-scoreboard>div{gap:3px}.pk-scoreboard span{font-size:.7rem;color:var(--modal-muted,#7e6d8f)}.pk-scoreboard strong{font-size:1.45rem;color:var(--modal-ink,#51465f)}.pk-scoreboard small{font-size:.6rem;color:var(--modal-muted,#7e6d8f)}.pk-timer strong{font-size:1.6rem}.pk-match-rules{font-size:.65rem;color:var(--modal-muted,#7e6d8f);margin:4px 0 8px}.pk-board-wrap{position:relative;width:min(100%,max(220px,calc(100svh - 285px)),400px);margin:0 auto}.pk-board{width:100%;margin:6px auto;gap:4px}.pk-board .cell>.symbol{pointer-events:none}.pk-board .cell.has-rabbit .symbol{width:91%;height:91%}.pk-board .cell svg{display:block;width:100%;height:100%}.pk-board .cell.marked .symbol{width:70%;height:70%;transform:rotate(-4deg);filter:drop-shadow(0 1px 1px #70528e20)}.pk-board .cell:disabled{opacity:1}.pk-board .cell.penalty-hidden{visibility:hidden}.pk-board.penalty-hidden .cell{visibility:hidden}.pk-board.penalty-hidden{background:var(--modal-control,#f5eff9);border:1px solid var(--modal-control-border,#e4dbea)}.pk-penalty{position:absolute;inset:0;display:grid;place-items:center;padding:18px;text-align:center;font-size:.95rem;line-height:1.7;color:var(--modal-ink,#51465f);background:var(--modal-control,#f5eff9);border-radius:12px}.pk-board-controls{display:flex;gap:8px;max-width:400px;margin:8px auto;align-items:center}.pk-board-controls .modal-secondary{font-size:.75rem;min-height:36px;padding:7px 12px;margin:0;width:auto;flex:1;border-radius:10px}.pk-tools{display:flex;gap:6px;flex:2}.pk-tools button{flex:1;padding:7px 8px;min-height:36px;font-size:.71rem;border-radius:10px;border:1px solid var(--modal-control-border,#e4dbea);background:var(--modal-control,#f5eff9);color:var(--modal-ink,#51465f)}#pk-round{font-size:.8rem;margin:8px 0 4px;color:var(--modal-muted,#7e6d8f)}#pk-message{font-size:.73rem;margin:4px 0;min-height:0;color:var(--modal-muted,#7e6d8f)}#pk-message:empty{display:none}#pk-cancel{width:auto;min-height:36px;font-size:.75rem;padding:7px 16px;margin:8px auto 0;border-radius:10px}.pk-input-help{margin:5px 0;font-size:.68rem;text-align:center}.pk-result{padding:18px 8px}.pk-result h2{color:var(--modal-ink,#51465f);font-size:1.35rem}.pk-result p{color:var(--modal-muted,#7e6d8f)}html[data-pk-phase=playing] .pk-heading p,html[data-pk-phase=playing] #pk-status{display:none}
@media(min-width:700px){.game-shell{margin:12px auto;padding:18px 24px;border-radius:24px;background:var(--shell-background)}.home-scene{padding:24px 0 22px}.home-art{width:105px;height:92px}.home-modes{grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.home-mode{padding:18px 12px;grid-template-columns:30px minmax(0,1fr);gap:6px 8px}.home-mode>span:not(.home-mode-icon){font-size:.73rem}.home-mode strong{font-size:.94rem}.home-mode-icon{font-size:1.4rem}.home-caption{font-size:.83rem}.pk-actions{max-width:440px;margin:auto}}
@media(max-width:360px),(max-height:680px){.game-shell{padding:8px 12px}.home-art{height:62px;width:72px}.home-modes{margin:12px 0}.home-mode{padding:12px 15px}.home-caption{margin:6px 0}.home-kicker{margin:6px 0}.home-scene{padding:5px 0}.pk-heading h1{font-size:1.15rem!important}.pk-board-wrap{width:min(100%,max(210px,calc(100svh - 265px)),400px)}.pk-scoreboard{margin-top:6px;padding:8px}.pk-match-rules{margin-bottom:4px}}
.home-mode:not(.pk-mode){background:#eef7f2;border-color:#d5e7dd;color:#486453}.home-mode:not(.pk-mode) small{color:#759381}.home-mode.pk-mode{background:#f4eefb;border-color:#e3d8ef;color:#775c92}.home-mode.pk-mode small{color:#9883ab}html[data-theme=night] .home-mode:not(.pk-mode){background:#28372f;border-color:#40564a;color:#e2f0e6}html[data-theme=night] .home-mode:not(.pk-mode) small{color:#b2c9bc}html[data-theme=night] .home-mode.pk-mode{background:#342d43;border-color:#4b3c61;color:#ede5f7}html[data-theme=night] .home-mode.pk-mode small{color:#c4b2d8}html[data-scene=general] .web-footer,html[data-pk-phase=playing][data-scene=pk] .web-footer{display:none}
@media(min-width:700px){html[data-scene=general] .board-wrap{max-width:min(100%,max(220px,calc(100svh - 405px)),400px)}}
@media(min-width:700px){html[data-scene=pk] .pk-board-wrap{width:min(100%,max(220px,calc(100svh - 450px)),400px)}}

/* 1.5.1: a more generous home and slightly larger play surfaces. */
.game-shell{width:min(100%,630px);padding-inline:12px}
.home-scene{padding:24px 4px 20px}.home-art{width:132px;height:118px}.home-kicker{font-size:.67rem;margin:15px 0 9px}.home-scene h1{font-size:2rem!important}.home-caption{font-size:.9rem;margin:12px 0}.home-modes{margin:25px 0;gap:14px}.home-mode{padding:22px 20px;grid-template-columns:46px minmax(0,1fr);gap:7px 12px;min-height:120px}.home-mode-icon{font-size:2rem}.home-mode strong{font-size:1.18rem}.home-mode>span:not(.home-mode-icon){font-size:.83rem}.home-mode small{font-size:.78rem}
.pk-board-wrap{width:min(100%,max(230px,calc(100svh - 290px)),430px)}.board-wrap{max-width:min(100%,max(250px,calc(100svh - 260px)),430px)}
.pk-board-controls{max-width:430px}.pk-tools button{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:5px;min-height:46px;font-size:.73rem;padding:6px}.pk-tool-icon{width:28px;height:30px}.pk-tool-icon svg{width:100%;height:100%;display:block}.pk-tools b{border-radius:7px;background:var(--modal-surface,#fff);padding:2px 5px;font-size:.73rem;font-variant-numeric:tabular-nums}.pk-tools button:disabled{opacity:.5}
@media(min-width:700px){.game-shell{width:min(100% - 32px,660px);padding:20px 28px}.home-scene{padding:30px 0}.home-art{width:164px;height:145px}.home-scene h1{font-size:2.2rem!important}.home-modes{gap:16px;margin:30px 0}.home-mode{display:flex;align-items:flex-start;padding:25px 22px;gap:10px;min-height:190px}.home-mode-icon{font-size:2rem}.home-mode strong{font-size:1.2rem}.home-mode>span:not(.home-mode-icon){font-size:.86rem;line-height:1.7}.home-mode small{font-size:.8rem}html[data-scene=general] .board-wrap{max-width:min(100%,max(250px,calc(100svh - 365px)),430px)}html[data-scene=pk] .pk-board-wrap{width:min(100%,max(250px,calc(100svh - 410px)),430px)}}
@media(max-width:360px),(max-height:680px){.home-art{width:100px;height:88px}.home-scene{padding:12px 0}.home-modes{margin:16px 0}.home-mode{padding:16px;min-height:100px}.home-scene h1{font-size:1.8rem!important}.pk-tools button{grid-template-columns:22px 1fr auto;font-size:.66rem}.pk-tool-icon{width:22px;height:26px}}

@media(min-width:700px){.home-scene{padding:18px 0}.home-art{width:148px;height:130px}.home-kicker{margin-top:10px}.home-modes{margin:22px 0}.home-mode{min-height:168px;padding:20px 22px}.home-caption{margin:9px 0}}
.pk-tools button{display:flex;justify-content:center;position:relative;min-height:52px;padding:7px;gap:12px}.pk-tool-icon{width:38px;height:38px}.pk-tools b{min-width:20px;padding:3px 5px;border-radius:8px;font-size:12px}.pk-board-controls #pk-undo{min-height:52px}
/* 1.5.2: restore home context, text-only bars, larger desktop composition. */
html[data-scene=home] .home-scene{display:flex;flex-direction:column;align-items:center;padding:24px 0 6px}
html[data-scene=home] .home-art{width:154px;height:138px;margin:4px auto 0}
html[data-scene=home] .home-kicker{font-size:.65rem;letter-spacing:.2em;margin:16px 0 12px;color:var(--modal-muted)}
html[data-scene=home] .home-scene h1{font-size:2.15rem!important;line-height:1.25;margin:0;color:var(--modal-ink)}
html[data-scene=home] .home-caption{font-size:.9rem;line-height:1.6;margin:16px 0 0;color:var(--modal-muted)}
html[data-scene=home] .home-modes{display:grid;grid-template-columns:1fr;width:100%;max-width:560px;gap:12px;margin:42px auto 22px}
html[data-scene=home] .home-mode{display:flex;flex-direction:row;align-items:center;justify-content:center;text-align:center;min-height:64px;gap:0;padding:12px 20px;border-radius:15px}
html[data-scene=home] .home-mode strong{font-size:1.2rem;line-height:1.4}
html[data-scene=home] .web-state{display:flex;margin:8px 0 0}
html[data-scene=home] .web-footer{display:block;margin:10px 0 0}
html[data-scene=home] .game-intro{display:block;margin:16px 0 0;padding:12px 4px 4px}
@media(min-width:700px){
 html[data-scene=home] .game-shell{width:min(calc(100% - 40px),920px);padding:22px 40px;margin:18px auto}
 html[data-scene=home] .home-scene{min-height:520px;padding:26px 0 8px}
 html[data-scene=home] .home-art{width:210px;height:188px;margin-top:0}
 html[data-scene=home] .home-kicker{font-size:.8rem;margin:18px 0 12px}
 html[data-scene=home] .home-scene h1{font-size:2.8rem!important}
 html[data-scene=home] .home-caption{font-size:1.05rem;margin-top:18px}
 html[data-scene=home] .home-modes{margin:54px auto 24px;gap:14px}
 html[data-scene=home] .home-mode{min-height:68px}
 html[data-scene=home] .home-mode strong{font-size:1.4rem}
 html[data-scene=home] .web-state,html[data-scene=home] .web-footer,html[data-scene=home] .game-intro{font-size:13px}
}
@media(max-height:680px){
 html[data-scene=home] .home-scene{min-height:0;padding-top:16px}
 html[data-scene=home] .home-art{width:130px;height:116px}
 html[data-scene=home] .home-kicker{margin:12px 0 10px}
 html[data-scene=home] .home-scene h1{font-size:2rem!important}
 html[data-scene=home] .home-modes{margin-top:28px;margin-bottom:16px}
}

.pk-penalty-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;text-align:center}.pk-penalty-content span{line-height:1.6}.pk-penalty-content strong{display:block;font-size:3rem;line-height:1;font-variant-numeric:tabular-nums;color:var(--modal-ink)}
/* Keep iOS input focus and repeated waiting-screen taps from zooming. */
.pk-scene{touch-action:manipulation}
#pk-room-input,#pk-invite-link,#pk-duration{font-size:16px;line-height:1.4;min-height:44px}
@media(min-width:700px) and (min-height:681px) and (max-height:820px){
 html[data-scene=home] .home-scene{min-height:0;padding-top:18px}
 html[data-scene=home] .home-art{width:180px;height:156px}
 html[data-scene=home] .home-modes{margin-top:40px;margin-bottom:20px}
 html[data-scene=home] .game-intro{margin-top:10px;padding-top:8px}
}

