:root{font-family:Noto Sans JP,Yu Gothic,Hiragino Kaku Gothic ProN,sans-serif;color:#f4f0e5;background:#10382f;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--cream: #f4f0e5;--muted: #abc2b4;--gold: #f6d88b}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(ellipse at 50% 47%,rgba(35,91,68,.6),transparent 58%),#10382f}button{font:inherit}.shell{display:flex;width:min(100% - 48px,800px);min-height:100svh;flex-direction:column;margin:0 auto;padding:clamp(8px,1.8vh,18px) 0}.shell:has(.result){min-height:100svh}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:32px}.brand{color:var(--cream);font-size:15px;font-weight:800;letter-spacing:.12em;text-decoration:none}.brand-mark{color:var(--gold);margin-right:7px}.edition,.eyebrow,.stat small,.board-caption,.footer span:last-child{font-size:10px;font-weight:700;letter-spacing:.16em}.edition{color:#87a898}.intro{text-align:center;padding:clamp(8px,1.5vh,15px) 0}.eyebrow{color:var(--gold);margin:0 0 5px}.intro h1{margin:0;font-size:clamp(22px,3vw,30px);letter-spacing:.035em}.intro h1 span{color:var(--gold)}.description{color:#c1d0c3;margin:4px 0 0;font-size:12px}.game-panel{display:flex;width:min(100%,560px);min-height:0;flex:1 1 auto;flex-direction:column;margin:0 auto;padding:12px 16px 10px;border:1px solid rgba(226,234,215,.17);border-radius:22px;background:#082b2385;box-shadow:0 22px 65px #00140f33}.game-bar{display:flex;flex:0 0 auto;align-items:center;gap:14px}.stat{display:flex;align-items:center;gap:7px;min-width:100px}.stat-icon{color:var(--gold);font-size:20px}.stat small{display:block;color:#94b09f;font-size:8px}.stat strong{display:block;margin-top:2px;font-size:18px;line-height:1.1}.stat strong i{color:#789889;font-size:11px;font-style:normal;font-weight:500}.merge-stat{min-width:85px}.score-stat strong{color:var(--gold);font-variant-numeric:tabular-nums}.restart{margin-left:auto;border:1px solid rgba(226,234,215,.24);border-radius:999px;padding:8px 13px;background:transparent;color:var(--cream);cursor:pointer;font-size:11px}.restart span{color:var(--gold);font-size:16px;vertical-align:-1px}.restart:hover{border-color:var(--gold)}.instruction{min-height:18px;margin:6px 0 5px;color:#d7e1d6;text-align:center;font-size:12px}.instruction.combo-bonus{color:var(--gold);font-weight:800}.rule-guide{display:grid;flex:0 0 auto;gap:4px;margin:3px 0 0;text-align:center}.rank-sequence{margin:0;color:#c1d0c3;font-size:clamp(9px,1.1vw,12px);font-weight:700;white-space:nowrap}.rule-summary{margin:0;color:#94b09f;font-size:10px}.rule-summary span{color:var(--gold)}.special-rules{display:flex;align-items:center;justify-content:center;gap:14px;color:#b6cbbb;font-size:10px}.special-rules strong{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(246,216,139,.42);border-radius:999px;padding:3px 9px;color:var(--gold)}.special-rules b{color:var(--cream)}.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:clamp(7px,1.6vw,10px);width:min(100%,560px,max(280px,calc((100svh - 310px)*.8)));aspect-ratio:.8;flex:0 0 auto;align-self:center;padding:clamp(8px,2vw,12px);border:1px solid rgba(205,222,203,.2);border-radius:15px;background:#1b5443}.board-space{min-width:0;min-height:0}.card{position:relative;container-type:inline-size;display:flex;min-height:0;min-width:0;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;border:2px solid transparent;border-radius:8px;padding:0;background:#fffdf7;box-shadow:0 2px 3px #00000026;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;-webkit-tap-highlight-color:transparent}.card:hover{transform:translateY(-2px)}.card:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.card.selected{z-index:1;transform:translateY(-3px);border-color:var(--gold);box-shadow:0 0 0 3px #f6d88b4d,0 5px 12px #00000047}.card.red{color:#d44e4a}.card.black{color:#253a37}.card-center{position:absolute;display:grid;top:0;right:0;bottom:0;left:0;place-content:center;justify-items:center;line-height:1;pointer-events:none}.center-rank-suit{gap:.1em}.card-rank{font-size:clamp(27px,42cqw,50px);font-weight:800}.card-suit{font-size:clamp(22px,30cqw,36px)}.card.joker{border-color:#efcf83;background:#f6d88b;color:#563881}.joker-center{gap:.12em}.joker-mark{font-size:clamp(30px,44cqw,52px)}.joker-word{font-size:clamp(11px,17cqw,18px);font-weight:800;letter-spacing:.08em}.card.joker{color:#563881}.card.merged{animation:merge-pop .26s ease-out}.board-finished .card{cursor:default}.board-finished .card:hover{transform:none}.joker-word{text-transform:uppercase}.card-center span{display:block}.card-center.center-rank-suit .card-suit{font-weight:700}.card-center.joker-center{grid-auto-rows:max-content;align-content:center}.joker-mark,.joker-word{line-height:1}.board-caption{display:flex;flex:0 0 auto;justify-content:center;align-items:center;gap:9px;margin:7px 0 0;color:#82a090;font-size:8px}.dot{width:3px;height:3px;border-radius:50%;background:var(--gold)}.footer{display:flex;justify-content:space-between;gap:12px;padding:9px 2px 0;color:#8fab9b;font-size:10px}.footer span:last-child{font-size:8px}.result{width:min(100%,560px);margin:18px auto 0;padding:21px 24px;border:1px solid rgba(246,216,139,.42);border-radius:18px;background:#082b23bd;animation:result-in .24s ease-out}.result-heading{display:flex;align-items:center;gap:13px}.result-icon{color:var(--gold);font-size:30px}.result h2{margin:0;color:var(--gold);font-size:25px;letter-spacing:.08em}.result .eyebrow{margin-bottom:3px}.result-copy{margin:12px 0;color:#c7d7c8;font-size:13px}.result-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.result-stats span{min-width:0;padding:11px 13px;border-radius:9px;background:#ffffff12;color:#b6cbbb;font-size:11px}.result-stats b{float:right;color:var(--cream);font-size:15px}.final-score{display:flex;flex-direction:column;gap:3px;margin:14px 0;padding:13px 15px;border:1px solid rgba(246,216,139,.3);border-radius:11px;background:#f6d88b14}.final-score small{color:var(--gold);font-size:9px;font-weight:800;letter-spacing:.16em}.final-score strong{color:var(--cream);font-size:clamp(25px,7vw,36px);font-variant-numeric:tabular-nums}.result-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.result-actions button{min-height:40px;border-radius:999px;padding:9px 15px;cursor:pointer;font-size:12px;font-weight:700}.action-primary{border:0;background:var(--gold);color:#153c30}.action-secondary{border:1px solid rgba(226,234,215,.3);background:transparent;color:var(--cream)}.action-link{border:0;background:transparent;color:#c1d0c3}.result-actions button:hover{filter:brightness(1.08)}.share-note{margin:10px 0 0;color:#90aa9b;font-size:10px;line-height:1.6}@keyframes merge-pop{0%{transform:scale(.88)}70%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes result-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:520px){.shell{width:min(100% - 28px,480px);padding:8px 0}.intro{padding:7px 4px}.intro .eyebrow{display:none}.intro h1{font-size:clamp(22px,6vw,27px)}.description{max-width:330px;margin:3px auto 0;font-size:11px;line-height:1.5}.game-panel{padding:10px 8px 8px;border-radius:17px}.game-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat{min-width:0;gap:4px}.score-stat{grid-column:1 / -1}.stat-icon{font-size:15px}.stat strong{font-size:clamp(11px,4vw,16px)}.stat strong i{font-size:9px}.restart{grid-column:3;justify-self:end;padding:7px 9px;font-size:10px}.instruction{min-height:16px;margin:5px 0;font-size:10px}.rule-guide{gap:3px}.rank-sequence{font-size:clamp(9px,2.6vw,11px);letter-spacing:-.035em}.rule-summary{font-size:10px}.special-rules{gap:6px;font-size:9px}.special-rules strong{gap:3px;padding:3px 7px;font-size:11px}.board{width:min(100%,max(280px,calc((100svh - 460px)*.8)));gap:6px;padding:7px;border-radius:12px}.card{border-radius:6px}.footer{display:none}.result{padding:18px 15px}.result-stats{grid-template-columns:1fr;gap:6px}.result-stats span{padding:9px 11px}.result-stats b{font-size:14px}.result-actions{gap:6px}.result-actions button{padding:8px 12px;font-size:11px}}@media(min-width:521px)and (max-height:800px){.shell{padding:6px 0}.intro{padding:4px 0}.game-panel{padding:8px 12px 6px}.instruction{min-height:16px;margin:4px 0}.rule-guide{gap:2px}.rule-summary,.special-rules{font-size:10px}.board{width:min(100%,560px,max(280px,calc((100svh - 340px)*.8)));gap:7px;padding:8px}.board-caption{margin-top:4px}.footer{padding-top:4px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
