:root{color-scheme:light dark;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#667eea;color:#f0f0f0}*{box-sizing:border-box}body,html,#root{margin:0;padding:0;width:100%;height:100%;overflow:hidden;-webkit-overflow-scrolling:touch}body{display:flex;justify-content:center;align-items:flex-start;overflow:hidden}a{color:inherit}.game-root{width:100%;height:100%;min-height:100%;display:flex;flex-direction:column;background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden}.game-board{flex:1;display:flex;flex-direction:column;gap:24px;padding:24px 32px 32px;position:relative;overflow-y:auto;overflow-x:hidden;min-height:0}.row{display:flex;justify-content:space-between;align-items:flex-start}.top-row{gap:16px;justify-content:space-between}.stock-waste{display:flex;gap:16px}.foundations{display:grid;grid-template-columns:repeat(4,auto);gap:4px;justify-content:end;flex-shrink:0;margin-left:auto}.tableau-row{flex:1;display:grid;grid-template-columns:repeat(7,1fr);gap:16px}.game-controls{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;border-bottom:1px solid rgba(255,255,255,.1);background:#00000026;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.game-title{font-size:1.5rem;font-weight:600;letter-spacing:.05em}.game-stats{display:flex;align-items:center;gap:24px;font-size:.95rem}.new-game-button{padding:8px 16px;border-radius:6px;border:none;font-size:.95rem;font-weight:500;cursor:pointer;background:linear-gradient(135deg,#ffd54f,#ffb300);color:#1a1a1a;box-shadow:0 4px 8px #0000004d;transition:transform .1s ease,box-shadow .1s ease}.new-game-button:hover{transform:translateY(-1px);box-shadow:0 6px 12px #00000059}.card{width:108px;height:152px;border-radius:10px;border:1px solid rgba(0,0,0,.2);background:#fff;color:#1a1a1a;position:relative;padding:8px;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 6px 10px #0006;transition:transform .1s ease,box-shadow .1s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.card:focus-visible{outline:3px solid #ffeb3b;outline-offset:2px}.card.card-red{color:#c2185b}.card.card-face-down{background:repeating-linear-gradient(45deg,#0d47a1,#0d47a1 12px,#1565c0 12px,#1565c0 24px);color:transparent}.card.card-face-down .card-back-pattern{display:block;width:70%;height:70%;border-radius:8px;border:2px solid rgba(255,255,255,.65)}.card.card-selected{box-shadow:0 0 0 3px #ffeb3b,0 6px 12px #00000073;transform:translateY(-4px)}.card:hover{transform:translateY(-2px);box-shadow:0 8px 12px #00000073}.card-corner{position:absolute;display:flex;flex-direction:column;align-items:center;font-size:.95rem;line-height:1.1;letter-spacing:.02em}.card-corner-top{top:8px;left:8px}.card-corner-bottom{bottom:8px;right:8px;transform:rotate(180deg)}.card-symbol{font-size:2.5rem;line-height:1}.tableau-column{min-height:100%;padding-top:16px;border-radius:8px;border:2px dashed transparent;position:relative}.tableau-column-empty{border-color:#ffffff4d}.tableau-column-droppable{border-color:#ffeb3b;background:#ffeb3b26}.tableau-card-shell{display:flex;justify-content:center}.tableau-column-empty .tableau-card-shell{margin-top:0}.foundation-pile{width:108px;height:152px;border-radius:10px;border:2px dashed rgba(255,255,255,.25);display:flex;justify-content:center;align-items:center;position:relative;cursor:pointer;transition:border-color .15s ease,background .15s ease}.foundation-pile .card{cursor:pointer}.foundation-pile-highlighted{border-color:#ffeb3b;background:#ffeb3b26}.foundation-placeholder{font-size:1.2rem;opacity:.6}.stock,.waste{width:108px;height:152px;border-radius:10px;border:2px dashed rgba(255,255,255,.25);display:flex;justify-content:center;align-items:center;cursor:pointer;position:relative;transition:border-color .1s ease,background .1s ease}.stock:hover,.waste:hover{border-color:#ffffff80;background:#0000001a}.stock-placeholder,.waste-placeholder{width:100%;height:100%;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;opacity:.65}.stock-placeholder-recyclable{color:#ffeb3b}.victory-banner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:32px 48px;background:#000000d9;border-radius:16px;text-align:center;box-shadow:0 12px 24px #00000080}.victory-banner h2{margin:0 0 8px}.victory-banner button{margin-top:16px;padding:10px 20px;font-size:1rem;border:none;border-radius:8px;cursor:pointer;background:linear-gradient(135deg,#66bb6a,#43a047);color:#fff;box-shadow:0 6px 12px #00000059;transition:transform .1s ease,box-shadow .1s ease}.victory-banner button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0006}@media (max-width: 1024px){.card,.foundation-pile,.stock,.waste{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}@media (min-width: 768px) and (max-width: 1024px){.game-board{padding:16px 20px 24px;gap:16px}.top-row{gap:8px;justify-content:space-between;flex-wrap:nowrap}.stock-waste{gap:12px;flex-shrink:0}.foundations{gap:0px;flex:0 0 auto;grid-template-columns:repeat(4,auto);justify-content:end;flex-shrink:0;margin-left:auto}.card{width:80px;height:112px;padding:6px;border-radius:8px}.card-corner{font-size:.8rem}.card-corner-top{top:6px;left:6px}.card-corner-bottom{bottom:6px;right:6px}.card-symbol{font-size:2rem}.foundation-pile,.stock,.waste{width:80px;height:112px;border-radius:8px}.foundation-placeholder,.stock-placeholder,.waste-placeholder{font-size:1.2rem;border-radius:8px}.tableau-row{gap:8px}.tableau-card-shell:not(:first-child){margin-top:-68px!important}}@media (max-width: 767px){.game-board{padding:12px 8px 16px;gap:12px}.top-row{gap:8px;flex-wrap:wrap;justify-content:space-between}.stock-waste{gap:8px}.foundations{gap:1px;max-width:100%;margin-left:auto;justify-content:end}.tableau-row{gap:4px}.card{width:60px;height:84px;padding:4px;border-radius:6px}.card-corner{font-size:.7rem}.card-corner-top{top:4px;left:4px}.card-corner-bottom{bottom:4px;right:4px}.card-symbol{font-size:1.5rem}.foundation-pile,.stock,.waste{width:60px;height:84px;border-radius:6px}.foundation-placeholder,.stock-placeholder,.waste-placeholder{font-size:1rem;border-radius:6px}.game-controls{padding:12px 16px;flex-wrap:wrap;gap:12px}.game-title{font-size:1.2rem}.game-stats{gap:12px;font-size:.85rem;flex-wrap:wrap}.new-game-button{padding:6px 12px;font-size:.85rem}.tableau-card-shell:first-child{margin-top:0!important}.tableau-card-shell:not(:first-child){margin-top:-54px!important}.tableau-column{padding-top:8px}.victory-banner{padding:24px 32px;max-width:90%}.victory-banner h2{font-size:1.3rem}.victory-banner button{padding:8px 16px;font-size:.9rem}}@media (max-width: 480px){.game-board{padding:8px 4px 12px;gap:8px}.top-row{gap:6px;justify-content:space-between}.stock-waste{gap:6px}.foundations{gap:0px;margin-left:auto;justify-content:end}.tableau-row{gap:3px}.card{width:44px;height:62px;padding:3px;border-radius:5px}.card-corner{font-size:.55rem}.card-corner-top{top:3px;left:3px}.card-corner-bottom{bottom:3px;right:3px}.card-symbol{font-size:1.1rem}.foundation-pile,.stock,.waste{width:44px;height:62px;border-radius:5px}.foundation-placeholder,.stock-placeholder,.waste-placeholder{font-size:.85rem;border-radius:5px}.game-controls{padding:10px 12px;gap:8px}.game-title{font-size:1rem}.game-stats{gap:8px;font-size:.75rem}.new-game-button{padding:6px 10px;font-size:.8rem}.tableau-card-shell:first-child{margin-top:0!important}.tableau-card-shell:not(:first-child){margin-top:-39px!important}.tableau-column{padding-top:6px}.victory-banner{padding:20px 24px;max-width:95%}.victory-banner h2{font-size:1.1rem}.victory-banner p{font-size:.9rem}.victory-banner button{padding:8px 14px;font-size:.85rem}}@media (max-width: 767px) and (orientation: landscape){.game-board{padding:8px 12px;gap:8px}.card,.foundation-pile,.stock,.waste{width:52px;height:72px}.foundations{gap:1px}.tableau-card-shell:first-child{margin-top:0!important}.tableau-card-shell:not(:first-child){margin-top:-46px!important}}
