.tm-main{max-width:1050px;margin:auto;padding:24px 14px 48px;color:#173e4b}.tm-intro{text-align:center;margin:0 auto 24px;max-width:760px}.tm-intro>p:first-child{font-weight:800;letter-spacing:2px;color:#217b5c}.tm-intro h1{font-size:clamp(2rem,5vw,3.2rem);margin:12px}.tm-intro p{line-height:1.7}.tm-game{background:#f2fbf5;border:1px solid #c9e4d5;border-radius:24px;padding:24px;box-shadow:0 12px 35px #133c4610}.tm-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}.tm-controls button,.tm-controls select{font:inherit;font-weight:700;padding:12px 16px;border:1px solid #9dbfaf;border-radius:12px;background:white;color:#174b3a;min-height:46px;cursor:pointer}.tm-controls #new{background:#166648;color:white}.tm-controls button:disabled{opacity:.45;cursor:default}.tm-meter{display:flex;justify-content:space-between;gap:12px;margin:24px 0 16px;font-weight:700}.tm-board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;min-height:110px}.tm-tile{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:clamp(1.6rem,5vw,3rem);aspect-ratio:1.15;border:2px solid #dfd8bd;border-bottom:6px solid #cec7ac;border-radius:14px;background:#fffdf5;cursor:pointer;transition:transform .12s}.tm-tile:hover:not(:disabled){transform:translateY(-3px);background:#fff5c9}.tm-tile:disabled{opacity:.55}.tm-tile:focus-visible,.tm-controls :focus-visible{outline:4px solid #1472ba;outline-offset:3px}.tm-tile.tm-hint{outline:4px solid #e3aa00;background:#fff0a5}.tm-game h2{font-size:1.1rem;display:flex;justify-content:space-between;margin-top:26px}.tm-tray{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:12px;background:#d9eade;border-radius:16px}.tm-slot{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#fffdf5;border:2px dashed #9eb9a6;border-radius:10px;font-size:clamp(1.4rem,4vw,2.8rem)}#status{min-height:3em;line-height:1.6;text-align:center}.tm-win{background:#d0f1ce;padding:16px;border-radius:12px;font-weight:800}@media(max-width:520px){.tm-game{padding:14px}.tm-board{gap:7px;grid-template-columns:repeat(4,minmax(0,1fr))}.tm-tray{gap:4px;padding:7px}.tm-slot{border-width:1px}.tm-controls{gap:7px}.tm-controls button,.tm-controls select{padding:10px}.tm-main{padding:16px 10px}}

.tm-tile img,.tm-slot img{display:block;width:80%;height:68%;object-fit:contain;margin:auto;filter:drop-shadow(0 1px 1px #0003)}#category{max-width:100%}.tm-tile{display:flex;align-items:center;justify-content:center}

.tm-photo{display:block;width:100%;height:100%;border-radius:9px;background-size:440% 330%;background-repeat:no-repeat}.tm-tile{overflow:hidden;padding:3px;aspect-ratio:1}.tm-slot{overflow:hidden;padding:2px}.tm-tile:disabled .tm-photo{opacity:.65}

.tm-tile img.tm-photo,.tm-slot img.tm-photo{width:100%;height:100%;object-fit:contain;margin:0;filter:none;border-radius:9px}

[hidden]{display:none!important}
.tm-board.tm-stacked{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 18px;max-width:650px;margin:24px auto;align-items:start}
.tm-pile{position:relative;aspect-ratio:1; padding-bottom:calc((var(--layers) - 1)*16px)}
.tm-card{position:absolute;left:0;top:calc(var(--depth)*16px);width:100%;height:auto;box-shadow:0 3px 5px #143e402b;touch-action:manipulation}
.tm-card:disabled{opacity:1;filter:brightness(.78);cursor:default}
.tm-card:disabled .tm-photo{opacity:1}
.tm-card:hover:not(:disabled){transform:none;background:#fff5c9}
.tm-card.tm-selected{outline:4px solid #1472ba;outline-offset:1px;background:#dff3ff;border-color:#1472ba}
.tm-card.tm-hint{outline:4px solid #e3aa00;outline-offset:1px}
@media(max-width:520px){.tm-board.tm-stacked{gap:18px 10px}.tm-card{border-radius:10px}.tm-pile{padding-bottom:calc((var(--layers) - 1)*12px)}.tm-card{top:calc(var(--depth)*12px)}}
.tm-pile{aspect-ratio:auto;height:0;padding-top:100%;box-sizing:content-box}

.tm-board.tm-challenge{display:block;position:relative;max-width:650px;margin:24px auto;min-height:0;height:0;padding-bottom:calc(var(--rows)*25%)}
.tm-challenge-card{position:absolute;left:calc(var(--x)*25%);top:calc(var(--y)*100%/var(--rows));width:24%;height:auto;aspect-ratio:1;box-shadow:0 4px 5px #163b4655;touch-action:manipulation}
.tm-challenge-card:disabled{opacity:1;filter:brightness(.72);cursor:default}
.tm-challenge-card:disabled .tm-photo{opacity:1}
.tm-challenge-card:hover:not(:disabled){transform:none}
.tm-challenge-card.tm-selected{outline:4px solid #1472ba;outline-offset:1px;border-color:#1472ba;background:#dff3ff}
.tm-challenge-card.tm-hint{outline:4px solid #e3aa00;outline-offset:1px}
@media(max-width:520px){.tm-challenge-card{border-radius:8px;border-bottom-width:4px;padding:2px}}
.tm-board.tm-challenge{height:auto;padding-bottom:0;aspect-ratio:4 / var(--rows)}

.tm-extras{padding:12px;border-radius:14px;background:#eef9ff;margin:10px 0 18px}.tm-scoreline{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;color:#164b72}.tm-extras progress{display:block;width:100%;height:16px;margin-top:10px;accent-color:#138c61}.tm-extras button{margin-top:12px;padding:12px 22px;border:0;border-radius:12px;background:#087c54;color:white;font:inherit;font-weight:bold;cursor:pointer}.tm-extras button[hidden]{display:none}.tm-pop .tm-scoreline{animation:tm-reward .35s ease}@keyframes tm-reward{50%{transform:scale(1.025);color:#087c54}}@media(prefers-reduced-motion:reduce){.tm-pop .tm-scoreline{animation:none}}

.tm-challenge-card{left:calc(var(--x)*100%/var(--cols,4));width:calc(100%/var(--cols,4) - 3px)}.tm-board.tm-challenge{aspect-ratio:var(--cols,4) / var(--rows)}
