main>.controls,#actionMenu,main>.guide,.play-actions{display:none!important}#ts-game-menu [hidden]{display:none!important}.ts-card-modes{background:#faf8ef;color:#19293c;font:18px/1.5 system-ui;border-radius:16px;padding:20px}.ts-card-modes label{display:block;margin:12px 0}.ts-card-modes select{font:inherit;padding:10px;margin:5px;min-height:44px}.ts-card-modes button{font-size:18px;min-height:44px}
body{height:var(--visible-height,100dvh);grid-template-rows:52px minmax(0,1fr);padding-bottom:env(safe-area-inset-bottom)}
header{height:52px;min-height:0;margin:0;padding:4px max(10px,env(safe-area-inset-right)) 4px max(10px,env(safe-area-inset-left));gap:12px}
header h1{font-size:22px;white-space:nowrap}.hud{gap:8px;font-size:18px;min-width:0}#moves{font-size:16px}
header button{width:44px;height:44px;min-width:44px;min-height:44px;padding:8px;display:inline-flex;align-items:center;justify-content:center;font-size:24px;flex:none}
header button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
main{padding:0 max(6px,env(safe-area-inset-right)) 6px max(6px,env(safe-area-inset-left));overflow:hidden}
#board{padding:8px 12px;display:flex;align-items:center;gap:0;--pile-width:var(--card-width);--pile-height:var(--card-height)}
#top{height:var(--pile-height);margin:0 0 12px;gap:8px;width:auto}
.pile,.slot{width:var(--pile-width);height:var(--pile-height)}#top .card{height:var(--pile-height)}
#columns,.spider #columns{flex:none;min-height:0;grid-auto-rows:minmax(0,1fr);gap:8px;margin:0;padding:0}
.column{min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#668c7955 transparent;overscroll-behavior:contain;border:none;touch-action:pan-y}
.column:empty{border:1px dashed #789d8755;border-radius:7px}.column .card{width:calc(100% - 3px);left:1px;-webkit-touch-callout:none;user-select:none}
.card.stacked .card-heading b{font-size:min(30cqw,calc(var(--strip) - 2px))}.card.stacked .card-heading>span,.spider .card.ten.stacked .card-heading>span{font-size:min(26cqw,calc(var(--strip) - 2px))}
.stockCount{font-size:16px;bottom:3px;right:3px}.slot{font-size:clamp(26px,3vw,46px)}
.side-table#board{flex-direction:row;justify-content:center;align-items:flex-start;gap:18px}
.side-table #top{display:grid;grid-template-columns:repeat(2,var(--pile-width));grid-template-rows:repeat(3,var(--pile-height));gap:8px;margin:0;height:auto;flex:none}
.side-table #top .spacer{display:none}
.spider #top{bottom:8px;right:14px;gap:10px;height:var(--pile-height);margin:0;font-size:18px;z-index:3}
.spider #top .spacer{display:none}
#message{position:fixed;top:56px;bottom:auto;left:50%;max-width:min(75vw,650px);width:max-content;margin:0;padding:8px 14px;font-size:17px;line-height:1.3;background:#152721f2;border:1px solid #789d8755;box-shadow:0 3px 12px #0005;pointer-events:auto;cursor:pointer;z-index:2500}
#message:empty{display:none}
#column-zoom{padding:0;border:none;overflow:visible;width:min(92vw,430px);max-height:none;background:transparent;box-shadow:none}
#column-zoom::backdrop{background:#080d11b8}
.zoom-panel{display:flex;flex-direction:column;height:min(85dvh,750px);max-height:calc(var(--visible-height,100dvh) - 20px);padding:12px;background:#1c3029;border:1px solid #8eaaa0;border-radius:14px;color:#f8f4ee;overflow:hidden}
.zoom-head{display:flex;align-items:center;justify-content:space-between;flex:none;gap:12px}.zoom-head h2{font-size:21px}.zoom-head button{width:44px;height:44px;min-height:44px;margin:0;padding:0;font-size:25px}
.zoom-help{font-size:16px;line-height:1.4;margin:6px 0 10px;flex:none;color:#dbe6df}
.zoom-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}
.zoom-run{position:relative;margin:0 auto;--strip:44px}.zoom-run .card{touch-action:pan-y;user-select:none;-webkit-touch-callout:none;box-shadow:0 1px 4px #0005}.zoom-run .card[aria-disabled=true]{opacity:.88}
.zoom-run .card.stacked .card-heading b{font-size:29px}.zoom-run .card.stacked .card-heading>span{font-size:26px}
@media(max-height:450px){body{grid-template-rows:48px minmax(0,1fr)}header{height:48px;padding-top:2px;padding-bottom:2px}header h1{font-size:19px}.hud{gap:6px;font-size:16px}#moves{font-size:14px}#message{top:51px}.zoom-panel{height:calc(var(--visible-height,100dvh) - 16px)}.zoom-help{font-size:14px;margin:4px 0 6px}}
@media(max-width:620px){header{gap:5px}header h1{font-size:17px}.hud{gap:4px;font-size:14px}#moves{font-size:12px}header button{width:40px;min-width:40px}.zoom-help{font-size:15px}}

/* Notices occupy the existing header, never the table or a card. */
body>header{overflow:hidden}
body>header>div:first-child{min-width:0}
header #undo,header #hint{width:59px;min-width:59px}
header #message{position:static;transform:none;inset:auto;flex:1;min-width:0;max-width:none;width:auto;max-height:40px;overflow:auto;margin:0;padding:3px 8px;font-size:14px;line-height:1.15;color:#322508;background:#fff1c5;border:1px solid #c99532;border-radius:6px;box-shadow:none;z-index:auto}
.freebeer header #message{color:#322508;background:#fff1c5;border-color:#c99532}
.has-card-message>header>div:first-child,.has-card-message>header #moves,.has-card-message>header #time{display:none}
@media(max-width:620px){header #undo,header #hint{width:53px;min-width:53px}header #message{font-size:13px}}

