.candy-phone body{position:fixed;left:var(--phone-x,0px);top:var(--phone-y,0px);width:var(--phone-w,100vw);height:var(--phone-h,100dvh);overflow:hidden;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.candy-phone .topbar{flex:none;margin:0;width:100%;min-height:49px;padding:2px 7px;gap:5px}.candy-phone .return{font-size:11px;min-height:44px;display:flex;align-items:center}.candy-phone .wordmark{font:18px Georgia;color:#88315b;letter-spacing:0}.candy-phone nav{gap:1px}.candy-phone .topbar nav .quiet{padding:5px;font-size:11px}.candy-phone .iconButton{padding:4px 8px}
.candy-phone main{min-height:0;flex:1;width:100%;max-width:none;margin:0;padding:4px 5px;display:flex;flex-direction:column;overflow:hidden}.candy-phone .heading,.candy-phone footer{display:none}.candy-phone .notice{flex:none;max-height:50px;overflow:auto;font-size:12px;padding:5px;margin:0 0 4px}
.candy-phone .gameLayout{flex:1;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:5px}.candy-phone .boardPanel{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;border-radius:10px;box-shadow:none}.candy-phone .boardToolbar{flex:none;padding:3px 4px;gap:2px;display:flex;flex-direction:column;align-items:stretch}.candy-phone .boardToolbar>div{display:grid;grid-template-columns:1fr 36px 1fr 1.15fr 1fr .85fr;gap:2px;align-items:center}.candy-phone .boardToolbar button{min-height:44px;padding:3px;font-size:11px;line-height:1.2}.candy-phone #phoneZoom{text-align:center;font-size:11px}.candy-phone #phoneCamera{font-size:10px;line-height:13px;min-height:13px}.candy-phone .boardViewport{flex:1;min-height:0;max-height:none;overflow:auto;scroll-behavior:auto;touch-action:none;overscroll-behavior:contain;scrollbar-width:thin;overflow-anchor:none}.candy-phone .boardSurface{min-width:0;max-width:none;margin:0 auto;flex:none}.candy-phone .boardArt{width:100%;height:100%}.candy-phone .sparkle{display:none}
.candy-phone .playPanel{flex:none;max-height:43%;min-height:0;overflow:auto;overscroll-behavior:contain;padding:7px;border-radius:10px;box-shadow:none}.candy-phone #turnPanel{display:grid;grid-template-columns:86px minmax(0,1fr);column-gap:10px;align-items:start}.candy-phone .turnHeader{grid-column:1/-1;min-height:44px;margin:0;gap:5px}.candy-phone .turnHeader .eyebrow{font-size:9px;line-height:1.3}.candy-phone #menuBtn{min-height:44px;font-size:11px;padding:4px 7px}.candy-phone #turnTitle{grid-column:2;grid-row:2;font-size:20px;line-height:1.15;margin:2px 0;overflow-wrap:anywhere}.candy-phone .turnSub{grid-column:2;grid-row:3;font-size:11px;line-height:1.25;margin:2px 0 5px;min-height:0}.candy-phone #card{grid-column:1;grid-row:2/5;width:82px;height:110px;margin:5px 0;border-width:3px;border-radius:9px}.candy-phone .cardBlock{width:31px;height:31px;border-radius:7px;font-size:23px}.candy-phone .cardSymbols{gap:3px}.candy-phone .cardLabel{font-size:10px;line-height:1.1;margin:5px 2px 0}.candy-phone .destinationIcon{font-size:35px}.candy-phone .cardBack>span{font-size:24px}.candy-phone .cardBack strong{font-size:16px}.candy-phone .cardBack small{font-size:5px;letter-spacing:0;margin-top:9px}.candy-phone .drawZone{grid-column:2;grid-row:4;min-width:0}.candy-phone #drawBtn{min-height:46px;margin:0;padding:8px;font-size:14px}.candy-phone #turnMessage{font-size:12px;line-height:1.35;min-height:0;max-height:52px;overflow:auto;overscroll-behavior:contain;margin:5px 0 0}
.candy-phone .welcome .eyebrow,.candy-phone .welcomePieces{display:none}.candy-phone .welcome h2{font-size:26px;line-height:1.1;margin:0 0 5px}.candy-phone .welcome h2 br{display:none}.candy-phone .welcome>p:not(.eyebrow){font-size:12px;margin-bottom:7px}.candy-phone .welcome .wide{min-height:44px;padding:7px;margin-bottom:5px}.candy-phone .smallText{font-size:11px!important;margin-top:6px}.candy-phone[data-candy-screen=lobby] .boardPanel{display:none}.candy-phone[data-candy-screen=lobby] .playPanel{max-height:none;flex:1}.candy-phone #lobbyPanel h2{font-size:25px;margin:4px 0}.candy-phone #lobbyPanel p{font-size:13px}.candy-phone .roomCode{font-size:26px;min-height:44px;padding:7px}
.candy-phone dialog{width:calc(var(--phone-w,100vw) - 16px);max-width:660px;max-height:calc(var(--phone-h,100dvh) - 16px);padding:12px;overflow:auto;overscroll-behavior:contain;border-radius:12px}.candy-phone .dialogTop{position:sticky;top:-12px;z-index:3;background:#fffaf2;padding:4px 0;margin-bottom:5px;min-height:48px;align-items:center}.candy-phone .dialogTop .eyebrow{margin:0;font-size:9px}.candy-phone dialog h2{font-size:26px;line-height:1.15;margin:8px 0 12px}.candy-phone dialog p{font-size:13px}.candy-phone dialog label{font-size:13px}.candy-phone dialog .wide{min-height:44px}.candy-phone .ruleGrid{grid-template-columns:1fr 1fr;gap:10px}.candy-phone .ruleGrid h3{font-size:18px}.candy-phone .example{height:45px;font-size:27px}.candy-phone .setupSeat{gap:5px}.candy-phone .setupSeat input,.candy-phone .setupSeat select{font-size:13px;min-width:0}.candy-phone #menuDialog .players{margin-top:10px}.candy-phone #menuDialog .playerRow{min-height:44px}.candy-phone #menuDialog .history{margin-top:9px}.candy-phone #menuDialog summary{min-height:44px}.candy-phone #legend{justify-content:flex-start;gap:8px;padding:9px 0}.candy-phone #boardCaption{font-size:12px}.candy-phone #winnerDialog .winnerStars{font-size:30px}.candy-phone #winnerDialog h2{font-size:25px}
@media(orientation:landscape){.candy-phone .gameLayout{flex-direction:row}.candy-phone .playPanel{width:270px;max-height:100%;flex:none}.candy-phone #turnPanel{grid-template-columns:74px minmax(0,1fr);gap:4px 7px}.candy-phone #card{width:72px;height:100px}.candy-phone #turnTitle{font-size:18px}.candy-phone #turnMessage{max-height:85px}.candy-phone .turnSub{font-size:10px}.candy-phone[data-candy-screen=lobby] .playPanel{width:100%}.candy-phone .welcome h2{font-size:24px}}
.candy-phone .wordmark{display:block}.candy-phone #phoneCamera{display:block}
