body.freecell-screen{background:#08608b;color:#fff;background-image:linear-gradient(45deg,#ffffff02 25%,transparent 25%,transparent 75%,#ffffff02 75%),linear-gradient(45deg,#ffffff02 25%,transparent 25%,transparent 75%,#ffffff02 75%),radial-gradient(ellipse at 45% 15%,#08759b55,transparent 75%);background-size:12px 12px,12px 12px,100% 100%;background-position:0 0,6px 6px,0 0}.fc-table{--cw:calc((min(100vw,680px) - 16px - 28px)/8);--ch:calc(var(--cw)*1.44);--step:calc(var(--cw)*.55);max-width:680px;min-height:100svh;margin:auto;padding:0 8px;display:flex;flex-direction:column;touch-action:manipulation;font-family:Arial,sans-serif}.fc-header{padding:clamp(35px,6.5svh,58px) 2px 0;display:flex;align-items:center;gap:clamp(12px,3vw,23px)}.fc-round{width:clamp(48px,13vw,78px);height:clamp(48px,13vw,78px);border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:#fff;color:#c789aa;padding:9px;box-shadow:0 2px 0 #ffffff30}.fc-round svg{width:100%;height:100%}.fc-stat{background:#032e46;border-radius:8px;text-align:center;flex:1;padding:7px 1px 5px;position:relative;font-weight:900;color:white;min-width:0}.fc-stat small{display:block;font-size:clamp(8px,2.05vw,13px);font-weight:900;white-space:nowrap}.fc-stat b{font-size:clamp(22px,5vw,32px);line-height:1.05;font-weight:900}.fc-all{color:#63dfbb}.fc-all small{font-size:clamp(11px,2.6vw,16px);letter-spacing:.5px}.fc-crown{color:#032e46;position:absolute;top:-26px;font-size:31px;left:50%;transform:translateX(-50%);line-height:1}.fc-reserves{margin-top:clamp(24px,2.8svh,35px);height:calc(var(--ch)*2.4);position:relative;display:flex;justify-content:space-between;align-items:center;padding:0 3px 0 calc(var(--cw)*.42)}.fc-cells{display:grid;grid-template-columns:repeat(2,var(--cw));gap:4px;align-self:flex-start}.fc-cells:has(.fc-slot:nth-child(3)){align-self:stretch;align-content:start}.fc-foundations{display:flex;gap:4px;margin-top:0}.fc-slot{width:var(--cw);height:var(--ch);border:3px solid #004d70;border-radius:7px;background:#00557966;position:relative;box-shadow:inset 0 0 0 1px #16759a;color:#004d70;display:grid;place-items:center;cursor:pointer}.fc-found>span{font-size:calc(var(--cw)*.85);line-height:1}.fc-card{width:var(--cw);height:var(--ch);border:1.8px solid #052e43;border-radius:6px;background:#fff;color:#001d31;padding:0;position:absolute;top:calc(var(--i,0)*var(--step));left:0;box-shadow:0 1px 2px #00334c;overflow:hidden;user-select:none;transition:filter .12s}.fc-red{color:#b8000c}.fc-card:disabled{opacity:1}.fc-card:active{filter:brightness(.92)}.fc-slot .fc-card{top:-3px;left:-3px}.fc-corner{display:flex;justify-content:space-between;align-items:center;position:absolute;top:-1px;left:2px;right:2px;height:calc(var(--cw)*.47);font-size:calc(var(--cw)*.47);font-weight:800;line-height:1;letter-spacing:-1.5px}.fc-corner b{font-weight:800}.fc-corner>span{font-family:Georgia,'Segoe UI Symbol',serif;letter-spacing:0;font-size:calc(var(--cw)*.57)}.fc-pip{position:absolute;top:calc(var(--cw)*.47);left:0;right:0;text-align:center;font-size:calc(var(--cw)*1.05);line-height:.84;font-family:Georgia,'Segoe UI Symbol',serif;letter-spacing:-2px}.fc-court{position:absolute;top:calc(var(--cw)*.47);height:calc(var(--ch) - var(--cw)*.47 - 4px);left:2px;width:calc(var(--cw) - 4px)}.fc-columns{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;margin-top:0;min-height:calc((var(--deepest) - 1)*var(--step) + var(--ch));position:relative}.fc-col{position:relative;min-width:0}.fc-empty{width:var(--cw);height:var(--ch);border:2px solid #004d70;border-radius:6px;background:#00557944}.fc-selected{outline:3px solid #ffca39;outline-offset:-2px;filter:brightness(1.07)}.fc-footer{flex:1;display:flex;align-items:flex-end;justify-content:center;min-height:150px;padding:40px 0 max(40px,4svh)}.fc-undo{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;color:#ffc428;padding:0;font-weight:800;font-size:clamp(16px,3.6vw,24px)}.fc-undo>span{width:clamp(68px,17.5vw,105px);height:clamp(68px,17.5vw,105px);border-radius:50%;background:radial-gradient(circle at 32% 25%,#ffd24b,#ffba18);box-shadow:0 5px 0 #dc9c16;display:grid;place-items:center;color:#fff;padding:9px}.fc-undo svg{height:100%;width:100%}.fc-undo:disabled{opacity:1}.fc-win{text-align:center;padding:24px;color:#ffd047;font-weight:800;font-size:28px}.freecell-screen #toast{background:#023d5b;color:white}@media(min-width:750px){.fc-table{--cw:calc((540px - 16px - 28px)/8);max-width:540px;min-height:100svh}.fc-header{padding-top:35px}.fc-reserves{margin-top:24px}.fc-footer{padding-bottom:45px;min-height:140px}}
/* Keep the number and suit readable on narrow phones, with room between rows. */
.fc-table{--cw:calc((min(100vw,680px) - 12px - 21px)/8);--ch:calc(var(--cw)*1.52);--step:calc(var(--cw)*.64);padding:0 6px;max-width:680px}
.fc-reserves{margin-top:28px;height:calc(var(--ch)*2 + 6px);padding:0 2px;align-items:flex-end;margin-bottom:20px}
.fc-cells{position:relative;grid-template-columns:repeat(2,var(--cw));gap:6px 3px;align-self:flex-start}
.fc-cells:has(.fc-slot:nth-child(3)){align-self:flex-start;align-content:start}
.fc-foundations{gap:3px;align-self:flex-end}
.fc-columns{gap:3px}
.fc-corner{top:2px;left:2px;right:2px;height:calc(var(--cw)*.44);font-size:calc(var(--cw)*.40);letter-spacing:-.6px;align-items:flex-start}
.fc-corner>span{font-family:Arial,'Segoe UI Symbol',sans-serif;font-size:calc(var(--cw)*.44);line-height:1}
.fc-pip{top:calc(var(--cw)*.53);font-size:calc(var(--cw)*.86);line-height:1;letter-spacing:0}
.fc-court{top:calc(var(--cw)*.53);height:calc(var(--ch) - var(--cw)*.53 - 4px)}
.fc-extra,.fc-add-cell{position:absolute;left:calc((var(--cw) + 3px)*2);top:calc(var(--ch) + 6px)}
.fc-extra{border-color:#edbb38}
.fc-extra:after{content:'CHEAT';position:absolute;bottom:-14px;font-size:8px;font-weight:bold;color:#ffdc71}
.fc-add-cell{width:var(--cw);height:var(--ch);border:2px dashed #e5bc55;border-radius:7px;background:#004d7055;color:#ffda70;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;gap:3px}
.fc-add-cell b{font-size:24px;line-height:1}.fc-add-cell span{font-size:9px;white-space:nowrap}.fc-add-cell small{font-size:7px;font-weight:bold}
@media(min-width:750px){.fc-table{--cw:calc((680px - 12px - 21px)/8);max-width:680px}.fc-reserves{margin-top:28px}.fc-footer{min-height:130px}}
