*{box-sizing:border-box}body{margin:0;background:#100d10;color:#eee4d3;font:16px/1.5 system-ui,sans-serif}main{max-width:1050px;margin:auto;padding:24px}header,.toolbar,footer{display:flex;align-items:center;justify-content:space-between;gap:16px}header{margin-bottom:20px}.eyebrow{font-size:12px;letter-spacing:.23em;color:#c4a779}h1{font:38px Georgia,serif;margin:3px 0}h1 i{font-weight:normal;color:#c6ac82}button,select{font:inherit;color:inherit;background:#282027;border:1px solid #6c5360;border-radius:6px;padding:8px 13px;cursor:pointer}button:hover{border-color:#dcc096}button:focus-visible,select:focus-visible{outline:3px solid #f6d88c;outline-offset:3px}button:disabled{opacity:.4;cursor:default}.toolbar{margin-bottom:14px}.toolbar>div{display:flex;gap:7px;flex-wrap:wrap}#instructions{padding:16px;border:1px solid #6c5360;margin-bottom:16px}.table{border:2px solid #92734c;border-radius:18px;background:radial-gradient(ellipse at 40% 25%,#801f3b55,transparent 60%),repeating-linear-gradient(92deg,#ffffff03 0px,#00000008 2px,#ffffff02 4px),radial-gradient(ellipse,#5c142e,#290918);box-shadow:inset 0 0 80px #100008,0 18px 50px #0006;padding:22px 12px 8px}#board{position:relative;width:100%;aspect-ratio:2.5;max-height:365px}.card{width:8.5%;aspect-ratio:2/3;border-radius:7px;border:1px solid #ccbda0;background:#fff8ea;color:#211b26;box-shadow:0 4px 6px #0007;display:flex;align-items:center;justify-content:center;font:clamp(16px,3vw,32px) Georgia,serif;padding:0}.card.red{color:#a62039}.card .corner{position:absolute;left:8%;top:4%;font:clamp(11px,1.7vw,19px)/1.1 Georgia,serif;text-align:center}.card .bottom{left:auto;top:auto;right:8%;bottom:4%;transform:rotate(180deg)}#board .card{position:absolute}.back{background:#081021 url('raven.png') center/100% 100% no-repeat;border:2px solid #c9ab78}.dark .back{background:repeating-linear-gradient(45deg,#151424 0 6px,#262136 6px 8px);border:2px solid #c9ab78}.card:disabled{opacity:1;cursor:default}.card.hinted{outline:4px solid #ffde78;outline-offset:2px}.piles{display:flex;justify-content:center;gap:34px;margin-top:16px}.piles>div{width:9%;min-width:45px;text-align:center}.piles .card{position:relative;width:100%}.piles span{display:block;font-size:14px;margin-top:6px}#status{min-height:26px;text-align:center;margin:14px 0;color:#f2dbaa}footer{margin-top:20px;color:#b7a99f;font-size:14px}footer select{margin-left:6px}#stock:disabled{opacity:.45;background-image:none}@media(max-width:600px){main{padding:14px 8px}h1{font-size:29px}.toolbar{align-items:flex-start;flex-direction:column;gap:8px}.toolbar>div{width:100%}.toolbar button{flex:1;padding:8px 5px;font-size:14px}.table{padding:20px 5px 8px;border-radius:12px}#board{aspect-ratio:1.9}.card{width:9%;border-radius:4px}.piles>div{width:12%}.piles{margin-top:22px}footer{align-items:flex-start;flex-direction:column;gap:12px}header button{font-size:14px;padding:7px}#status{font-size:14px}}
[hidden]{display:none!important}header{flex-wrap:wrap}header>div{margin-right:auto}dialog{color:#eee4d3;background:#21131c;border:2px solid #b29462;border-radius:16px;width:min(90%,420px);padding:24px;box-shadow:0 20px 70px #000a}dialog::backdrop{background:#000b}dialog h2{font:28px Georgia,serif;color:#ddc295;margin:0}#choices{display:grid;gap:12px;margin:20px 0}#choices button{text-align:left;padding:14px;background:#47172b;border-color:#9f794c;font:22px Georgia,serif}#closeMenu{width:100%}.selected{outline:3px solid #f3d291;outline-offset:1px}#board.columns{aspect-ratio:auto;max-height:none;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;min-height:220px;margin-top:20px}.column{position:relative;min-width:0}.column .card{position:absolute!important;width:100%;top:0}.empty{background:#180d1655;border:1px dashed #bda27688;color:#c9af84;box-shadow:none;font-size:20px}#upper{display:flex;justify-content:flex-end;gap:22px}.foundations,.cells{display:flex;gap:8px;width:48%}.slot{width:25%;position:relative}.slot .card{position:relative;width:100%}[data-game="FreeCell"] #board.columns{grid-template-columns:repeat(8,minmax(0,1fr))}[data-game="Pyramid"] #board{aspect-ratio:1.55;max-height:none}[data-game="Pyramid"] #board .card{width:10%}@media(max-width:600px){#board.columns{gap:4px}.foundations,.cells{gap:4px;width:49%}#upper{gap:8px}.column .card{font-size:22px}.column .corner{font-size:12px}.slot .card{font-size:24px}.slot .corner{font-size:12px}[data-game="FreeCell"] .column .card{font-size:18px}[data-game="FreeCell"] .column .corner{font-size:11px}[data-game="Pyramid"] #board{aspect-ratio:1.2}header>div{width:100%}}

.saints .back{background-image:url('saints.png')}

#victory{position:relative;overflow:hidden;margin:22px auto 8px;max-width:600px;border:1px solid #bfa06a;border-radius:12px;background:radial-gradient(ellipse at top,#66314a,#1f101c);text-align:center;padding:24px;box-shadow:0 0 35px #ddb76022}.victory-copy{position:relative;z-index:1}.victory-seal{font-size:48px;color:#f1cf88;line-height:1}#victory h2{font:36px Georgia,serif;color:#f1d49b;margin:10px 0}#victory p{margin:8px 0}#victoryGame{color:#e3bd7e;font-size:20px}#victory button{margin-top:12px;background:#a48146;color:#140c0c;border-color:#f0d499}#sparkles{position:absolute;inset:0;pointer-events:none}#sparkles span{position:absolute;top:-30px;color:#e3bf76;font-size:24px;opacity:0;animation:gold-fall 3s var(--delay) ease-out 1}.arrived .victory-copy{animation:victory-arrival .6s ease-out}@keyframes gold-fall{10%{opacity:.95}80%{opacity:.8}100%{transform:translate(var(--sway),350px) rotate(240deg);opacity:0}}@keyframes victory-arrival{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){#sparkles span,.arrived .victory-copy{animation:none}#sparkles span{top:15%;opacity:.25}}
