:root{color:#17191f;--compact-card-width:clamp(60px, 19vw, 96px);font-synthesis:none;text-rendering:optimizelegibility;background:#f6f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f6f7fb;min-width:320px;min-height:100svh;margin:0}button{font:inherit}.app{gap:clamp(8px,1.8vw,14px);width:min(100%,820px);min-height:100svh;margin:0 auto;padding:clamp(8px,1.7vw,14px) clamp(8px,1.8vw,12px) clamp(12px,2.4vw,18px);display:grid}.app__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.eyebrow{color:#5b6472;letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.74rem;font-weight:800}h1{color:#151820;margin:0;font-size:1.75rem;line-height:1}.summary{color:#465263;margin:6px 0 0;font-size:.84rem;font-weight:800}.level-picker{color:#465263;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:6px;font-size:.74rem;font-weight:800;display:flex}.level-picker select{color:#17191f;width:min(150px,42vw);min-width:0;font:inherit;background:#fff;border:1px solid #64748b;border-radius:5px;padding:3px 5px;font-weight:850}.level-picker strong{color:#5b6472;font-size:.7rem;font-weight:850}.level-details{color:#5b6472;flex-wrap:wrap;gap:3px 6px;margin:4px 0 0;font-size:.68rem;font-weight:750;line-height:1.2;display:flex}.level-details__difficulty{color:#1d4ed8;text-transform:capitalize;font-weight:900}.level-details__description{flex-basis:100%}.moves{background:#fff;border:2px solid #1f2937;border-radius:8px;flex:none;place-items:center;width:70px;min-height:64px;display:grid;box-shadow:0 3px #1f2937}.moves span{font-size:1.35rem;font-weight:900;line-height:1}.moves small{color:#5b6472;text-transform:uppercase;font-size:.68rem;font-weight:850}.board{--board-card-width:var(--compact-card-width);grid-template-areas:"playfield""draw";align-items:start;gap:clamp(8px,1.8vw,14px);display:grid}.board--5{--board-card-width:clamp(52px, 17vw, 82px)}.board__playfield{grid-area:playfield;gap:clamp(16px,2.8vw,24px);min-width:0;display:grid}.foundations,.tableau{grid-template-columns:repeat(var(--board-column-count,4), minmax(0, 1fr));align-items:start;gap:0;display:grid}.tableau{border-top:1px solid #cbd5e1;padding-top:clamp(8px,1.6vw,12px)}.draw-rail{background:#eef1f6;border:1px solid #cbd5e1;border-radius:10px;grid-area:draw;align-content:start;justify-items:center;gap:5px;min-width:0;padding:7px;display:grid}.draw-rail__label{color:#5b6472;letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.66rem;font-weight:900}.foundation-slot,.draw-pile,.draw-empty{text-align:center;border:2px solid #1f2937;border-radius:8px;align-content:center;justify-items:center;min-height:clamp(48px,9vh,60px);display:grid}.waste-stack{min-height:calc(clamp(56px, 9vh, 68px) + var(--waste-stack-offset,0px) + 4px);width:var(--compact-card-width);isolation:isolate;position:relative}.waste-stack .card--draw{width:calc(100% - 12px);transform:translate(var(--waste-x-offset), var(--waste-y-offset));position:absolute;inset:0 auto auto 0}.card--waste-under,.card--waste-under.card--category{pointer-events:none;align-content:start;gap:0;padding:1px 3px}.waste-card__peek{color:#374151;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:100%;font-size:.64rem;font-weight:900;line-height:1;overflow:hidden}.foundation-slot,.draw-pile{cursor:pointer}.foundation-slot span,.draw-pile span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.76rem;font-weight:850;line-height:1.1;overflow:hidden}.foundation-slot strong,.draw-pile strong{margin-top:3px;font-size:1rem;font-weight:950}.foundation-slot--empty{color:#586170;background:#eef1f6;border-style:dashed}.foundation-slot--open{color:#143c2a;background:#e8f7ef;border-color:#167044;box-shadow:0 3px #167044}.foundation-slot{width:var(--board-card-width);justify-self:center;min-height:clamp(52px,9vh,62px)}.foundation-slot span{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;overflow:visible}.draw-area{grid-template-columns:repeat(2, var(--board-card-width));justify-content:center;gap:6px;display:grid}.draw-pile,.draw-empty,.waste-stack{width:var(--board-card-width)}.draw-pile{color:#fff;background:#202738;box-shadow:0 3px #111827}.draw-pile:disabled{color:#f7f8fb;cursor:not-allowed;box-shadow:none;background:#8d95a3}.draw-empty{color:#697386;background:#fff;font-size:.9rem;font-weight:800}.column{width:var(--board-card-width);justify-self:center;gap:0;min-width:0;display:grid}.column>.card{margin-top:-12px;position:relative}.column>.card:first-child{margin-top:0}.card{color:#17191f;letter-spacing:0;text-align:center;border:2px solid #1f2937;border-radius:8px;place-items:center;width:100%;min-height:clamp(42px,7vh,50px);padding:4px 5px;font-size:clamp(.7rem,2.6vw,.82rem);font-weight:850;line-height:1.08;display:grid}.card>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.card small{color:#6b4e00;text-transform:uppercase;font-size:.6rem;font-weight:900}.card--tableau,.card--draw{cursor:pointer;box-shadow:0 3px #1f2937}.card--tableau-empty{color:#586170;cursor:pointer;box-shadow:none;background:#eef1f6;border-style:dashed}.foundation-slot:disabled,.card--tableau:disabled,.card--draw:disabled,.card--tableau-empty:disabled{cursor:not-allowed}.card--word{background:#fff}.card--category{background:#fff2bf;border-color:#8a6200;align-content:center;gap:1px;box-shadow:0 3px #8a6200}.card__progress{color:#6b4e00;font-size:.64rem;font-weight:950}.card--under-cap{box-shadow:none;border-style:dashed}.card--draw{min-height:clamp(56px,9vh,68px)}.card--buried{cursor:not-allowed;opacity:.88;background:repeating-linear-gradient(135deg,#cbd5e1 0 8px,#e2e8f0 8px 16px);min-height:clamp(22px,4.5vh,32px);padding:0}.card--selected{background:#dbeafe;border-color:#1d4ed8;box-shadow:0 0 0 4px #93c5fd}button:focus-visible{outline-offset:3px;outline:3px solid #ef4444}.status-line{color:#5b6472;border-left:2px solid #cbd5e1;margin:5px 0 0;padding-left:7px;font-size:clamp(.7rem,1.2vw,.82rem);font-weight:800;line-height:1.25}.status-line--error{color:#7f1d1d;border-color:#b91c1c}.status-line--success{color:#14532d;border-color:#15803d}.status-line--info{border-color:#94a3b8}@media (width>=640px){:root{--compact-card-width:96px}.app{gap:clamp(10px,1.6vw,16px);padding:clamp(10px,2vw,18px)}h1{font-size:2rem}.board{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"playfield draw";gap:clamp(12px,2.4vw,20px)}.board--5{--board-card-width:clamp(68px, 10vw, 82px)}.draw-rail{align-self:start}.draw-rail .draw-area{grid-template-columns:var(--board-card-width)}.column{gap:0}.card{min-height:50px;font-size:.84rem}.card--buried{min-height:30px}.card--draw{min-height:64px}.waste-stack{min-height:calc(64px + var(--waste-stack-offset,0px) + 4px)}}@media (orientation:landscape) and (height<=620px){:root{--compact-card-width:clamp(52px, 13vw, 80px)}.app{gap:7px;width:min(100%,760px);padding:7px 10px 9px}.app__header{gap:8px}.eyebrow{display:none}h1{font-size:1.35rem}.summary{margin-top:3px;font-size:.76rem}.level-picker{gap:3px 5px;margin-top:4px;font-size:.66rem}.level-picker select{padding:2px 4px}.level-picker strong{font-size:.62rem}.level-details{gap:2px 5px;margin-top:3px;font-size:.6rem}.level-details__description{display:none}.moves{border-radius:7px;width:56px;min-height:46px;box-shadow:0 2px #1f2937}.moves span{font-size:1.05rem}.moves small{font-size:.58rem}.board{grid-template-columns:minmax(0,1fr) auto;gap:8px}.board--5{--board-card-width:clamp(48px, 10vw, 72px)}.foundation-slot,.draw-pile,.draw-empty{border-radius:7px;min-height:42px}.foundation-slot span,.draw-pile span{font-size:.66rem}.foundation-slot strong,.draw-pile strong{font-size:.86rem}.board__playfield{gap:12px}.draw-rail{gap:4px;padding:5px}.draw-rail .draw-area{gap:5px}.column{gap:0}.column>.card{margin-top:-9px}.card{border-radius:7px;min-height:38px;padding:4px 3px;font-size:.72rem;line-height:1.02}.card small{font-size:.54rem}.waste-card__peek{font-size:.56rem}.card--buried{min-height:20px}.card--draw{min-height:50px}.waste-stack{min-height:calc(50px + var(--waste-stack-offset,0px) + 4px)}.status-line{margin-top:3px;font-size:.66rem}}
