/* Local mobile prototype. Desktop continues to show the table and action side by side. */
.mobile-game-nav,.mobile-team-dock,.mobile-selection-preview{display:none}
@media(max-width:760px){
 body[data-mobile-game=true] .app-shell{padding:0 18px calc(154px + env(safe-area-inset-bottom))}
 body[data-mobile-game=true] main{min-height:0}
 body[data-mobile-game=true] footer{display:none}
 body[data-mobile-game=true] .topbar{height:62px}
 body[data-mobile-game=true] .brand{font-size:18px;gap:8px}
 body[data-mobile-game=true] .brand small{font-size:5px}
 body[data-mobile-game=true] .brand>.icon{width:24px;height:31px}
 body[data-mobile-game=true] .topbar nav{gap:2px}
 body[data-mobile-game=true] .topbar .nav-btn{padding:8px;min-width:40px}
 body[data-mobile-game=true] .topbar .nav-btn span{display:none}
 body[data-mobile-game=true] .game-heading{padding:16px 0 15px;gap:10px}
 body[data-mobile-game=true] .game-heading .eyebrow{font-size:9px;letter-spacing:.06em}
 body[data-mobile-game=true] .game-heading h1{font-size:24px;margin-top:3px}
 body[data-mobile-game=true] .game-heading .phase-pill{font-size:10px;padding:6px 10px}
 body[data-mobile-game=true] .game-layout{display:block;max-width:560px;margin:auto}
 body[data-mobile-pane=action] #public-table-view{display:none}
 body[data-mobile-pane=table] #current-action-view{display:none}
 body[data-mobile-game=true] .game-content{min-height:0;padding:20px 17px;background:linear-gradient(135deg,#122d3dcb,#091e2eee);border-color:#b9995c4d;box-shadow:inset 0 0 0 4px #071b2a55}
 body[data-mobile-game=true] .game-content.locked{padding:0}
 body[data-mobile-game=true] .content-heading{margin-bottom:17px}
 body[data-mobile-game=true] .content-heading>.eyebrow{display:none}
 body[data-mobile-game=true] .content-heading h2{font-size:21px;margin:0;color:#f0dfbd}
 body[data-mobile-game=true] .content-heading p{font-size:11px;line-height:1.7;margin:8px 0 0}
 body[data-mobile-game=true] .handoff-card{padding:26px 18px 25px}
 body[data-mobile-game=true] .handoff-card .seal{width:68px;height:68px;margin:13px auto 25px}
 body[data-mobile-game=true] .handoff-card .seal .icon{width:27px;height:27px}
 body[data-mobile-game=true] .handoff-card h2{font-size:22px;margin-top:12px}
 body[data-mobile-game=true] .handoff-card p{font-size:12px;line-height:1.8;margin:12px auto}
 body[data-mobile-game=true] .handoff-card>small{margin-top:18px;font-size:10px}
 body[data-mobile-game=true] .sealed-identity{min-height:235px;margin:0;gap:12px}
 body[data-mobile-game=true] .sealed-identity>.icon{width:45px;height:45px;margin-bottom:8px}
 body[data-mobile-game=true] .game-content .action-confirm{position:fixed;left:18px;right:18px;bottom:calc(78px + env(safe-area-inset-bottom));width:calc(100% - 36px);margin:0;min-height:54px;z-index:22;font-size:15px;border-radius:7px;box-shadow:0 0 0 8px #061827f2,0 -9px 24px #051521b3}
 body[data-mobile-game=true] .game-content .action-confirm:disabled{opacity:1;color:#9b9e91!important;background:#334345!important;border-color:#74807588!important;box-shadow:0 0 0 8px #061827f2}
 body[data-mobile-game=true] .game-content:has(.action-confirm)>p.center.muted{font-size:10px;margin:15px 0 0}
 body[data-mobile-game=true] .mobile-game-nav{position:fixed;bottom:0;left:0;right:0;z-index:23;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 18px calc(9px + env(safe-area-inset-bottom));background:#061827f5;border-top:1px solid #b89a5b55;box-shadow:0 -8px 25px #04132188;backdrop-filter:blur(12px)}
 .mobile-view-button{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:6px;background:transparent;color:#95aab4;min-height:45px;padding:9px 12px;font-size:13px;touch-action:manipulation}
 .mobile-view-button .icon{width:19px;height:19px}
 .mobile-view-button[aria-pressed=true]{border-color:#bd9d5b66;background:#bd9d5b17;color:#f1d39a}
 body[data-mobile-game=true] .game-tools{display:flex;gap:8px;justify-content:center;margin-top:13px}
 body[data-mobile-game=true] .game-tools .btn{flex:1;min-width:0;font-size:10px;padding:7px 5px;min-height:42px;color:#b2c0c4;background:#0c223144;border:1px solid #8299a329;border-radius:5px}
 body[data-mobile-game=true] .game-tools .icon{width:15px;height:15px}
 body[data-mobile-game=true] .save-note{font-size:9px;text-align:center;margin:12px 0 0;line-height:1.5}
 body[data-mobile-game=true] .discussion-timer{margin-top:12px}
 body[data-mobile-game=true] .table-heading{padding-top:2px}
 body[data-mobile-game=true] .roundtable-panel{padding:2px 0 0;max-width:520px}
 body[data-mobile-game=true] .table-note{margin-bottom:0}
 body[data-mobile-game=true] .table-instruction{font-size:11px}
 body[data-mobile-game=true] .mobile-team-dock{position:fixed;left:18px;right:18px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:22;display:block;background:#061827f2;border-radius:7px;box-shadow:0 0 0 8px #061827f2,0 -9px 24px #051521b3}
 body[data-mobile-game=true] .mobile-team-dock .btn{width:100%;margin:0;min-height:54px;font-size:15px;background:linear-gradient(115deg,#ecd18e,#bb9246);color:#10212b;border:1px solid #f6d995;border-radius:7px}
 body[data-mobile-game=true] .mobile-team-dock .btn:disabled{opacity:1;background:#334345;color:#9b9e91;border-color:#74807588}
 body[data-mobile-game=true] .game-content .action-confirm[data-cmd=team]{display:none}
 body[data-mobile-game=true] .mobile-selection-preview{display:block;margin-top:15px;text-align:center}
 body[data-mobile-game=true] .game-content .mobile-selection-preview .btn{position:static;margin:10px 0 0;min-height:45px;font-size:12px}
 body[data-mobile-game=true] .game-content:has(.table-selection-hint){padding:20px 17px 18px}
 body[data-mobile-game=true] .table-selection-hint{display:none}
 body[data-mobile-game=true] .vote-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px;margin:22px 0 15px}
 body[data-mobile-game=true] .vote-card{min-height:160px;padding:22px 10px;gap:13px;border-radius:9px}
 body[data-mobile-game=true] .vote-card>.icon{width:35px;height:35px}
 body[data-mobile-game=true] .vote-card>strong{font-size:25px}
 body[data-mobile-game=true] .vote-card>small{font-size:10px}
 body[data-mobile-game=true] .vote-card.chosen{box-shadow:inset 0 0 0 1px #e1c28b,0 0 18px #b5954f1f}
 body[data-mobile-game=true] .team-chips{gap:7px;flex-wrap:wrap;margin:16px 0 0}
 body[data-mobile-game=true] .team-chips>span{padding:5px 12px;font-size:12px}
 body[data-mobile-game=true] .private-hint{font-size:10px;line-height:1.7;margin:13px 0 0}
 body[data-mobile-game=true] .identity-card:has(.role-portrait),body[data-mobile-game=true] .modal .identity-card:has(.role-portrait){display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px 13px;padding:16px;text-align:left;animation:none}
 body[data-mobile-game=true] .identity-card:has(.role-portrait)>.eyebrow{grid-column:2;grid-row:1;align-self:end;font-size:7px;letter-spacing:.08em}
 body[data-mobile-game=true] .identity-card .role-portrait{grid-column:1;grid-row:1/4;max-width:none;width:96px;aspect-ratio:3/4;margin:0;border-radius:6px;box-shadow:0 4px 15px #0004;align-self:start}
 body[data-mobile-game=true] .role-portrait img{height:100%;width:100%;object-fit:cover;object-position:center top}
 body[data-mobile-game=true] .identity-card:has(.role-portrait)>h2{grid-column:2;grid-row:2;font-size:23px;line-height:1.25;margin:0;letter-spacing:.025em;align-self:center}
 body[data-mobile-game=true] .identity-card h2 .role-zh{font-size:11px;margin-top:3px}
 body[data-mobile-game=true] .identity-card:has(.role-portrait)>.identity-sub{grid-column:2;grid-row:3;align-self:start;font-size:9px;line-height:1.6;margin:0}
 body[data-mobile-game=true] .identity-card:has(.role-portrait)>p{grid-column:1/-1;font-size:12px;line-height:1.75;margin:6px 0 0}
 body[data-mobile-game=true] .identity-card:has(.role-portrait)>.intel{grid-column:1/-1;margin-top:4px;padding-top:11px}
 body[data-mobile-game=true] .intel>span{font-size:10px;line-height:1.7}
 body[data-mobile-game=true] .intel>div{justify-content:flex-start;gap:6px;margin-top:8px}
 body[data-mobile-game=true] .intel strong{font-size:12px;padding:4px 10px}
 body[data-mobile-game=true] #toast{bottom:calc(145px + env(safe-area-inset-bottom));z-index:40}
 body[data-mobile-game=true] .modal-backdrop{z-index:35}
}
@media(max-width:360px){
 body[data-mobile-game=true] .app-shell{padding-left:14px;padding-right:14px}
 body[data-mobile-game=true] .topbar{height:57px}
 body[data-mobile-game=true] .brand{font-size:16px}
 body[data-mobile-game=true] .topbar .nav-btn{min-width:36px;padding:6px}
 body[data-mobile-game=true] .game-heading{padding:12px 0}
 body[data-mobile-game=true] .game-heading h1{font-size:22px}
 body[data-mobile-game=true] .game-content{padding:16px 13px}
 body[data-mobile-game=true] .content-heading h2{font-size:19px}
 body[data-mobile-game=true] .identity-card:has(.role-portrait){grid-template-columns:80px minmax(0,1fr);padding:13px;gap:7px 10px}
 body[data-mobile-game=true] .identity-card .role-portrait{width:80px}
 body[data-mobile-game=true] .identity-card:has(.role-portrait)>h2{font-size:20px}
 body[data-mobile-game=true] .identity-card:has(.role-portrait)>p{font-size:11px}
 body[data-mobile-game=true] .vote-card{min-height:139px;padding:17px 8px;gap:10px}
 body[data-mobile-game=true] .mobile-game-nav{padding-left:14px;padding-right:14px}
 body[data-mobile-game=true] .game-content .action-confirm{left:14px;right:14px;width:calc(100% - 28px);font-size:14px}
 body[data-mobile-game=true] .mobile-team-dock{left:14px;right:14px}
}
