@layer arcpuzzle{@media (prefers-reduced-motion:reduce){.mahjong-tile-clearing,.mahjong-tile-hinted:not(.mahjong-tile-selected){animation:none}}.mahjong-tile-blocked:not(:disabled){cursor:help}.mahjong-tile-open:not(:disabled):hover{border-color:var(--coral-dark)}.mahjong-tile-hinted:not(.mahjong-tile-selected){outline:5px solid var(--mustard);outline-offset:2px;animation:.7s ease-in-out 2 mahjong-hint}@keyframes mahjong-clear{0%{opacity:1;transform:translateY(0)scale(1)}45%{opacity:1;transform:translateY(-8px)scale(1.06)}to{opacity:0;transform:translateY(-4px)scale(.55)}}@keyframes mahjong-hint{50%{outline-color:var(--coral)}}.mahjong-board-scroll{border:3px solid var(--ink);border-radius:var(--radius-panel);background:var(--surface);box-shadow:6px 6px 0 var(--ink)}.mahjong-tile,.game-page .mahjong-toolbar{border-color:var(--ink)}.game-page>.mahjong-toolbar>fieldset{border:2px solid var(--ink);background:var(--surface);box-shadow:3px 3px 0 var(--game-accent,var(--teal));border-radius:18px 18px 18px 7px;padding:11px 12px}.mahjong-board-scroll{border:4px solid var(--ink);background:var(--game-stage,var(--teal-pale));box-shadow:9px 9px 0 var(--ink)}.mahjong-play-status dl{border:3px solid var(--ink);background:var(--mustard-pale);box-shadow:4px 4px 0 var(--game-accent)}@media (width<=720px){.game-page>.mahjong-toolbar>fieldset{width:100%}.mahjong-board{box-shadow:6px 6px 0 var(--ink)}}.mahjong-actions{border:2px solid var(--ink);background:var(--surface);box-shadow:3px 3px 0 var(--game-accent,var(--teal));border-radius:18px 18px 18px 7px;padding:10px}.game-page .mahjong-layout-choices button[aria-pressed=true]{border-color:var(--ink);background:var(--sky-pale);color:var(--ink);box-shadow:4px 4px 0 var(--mustard), 6px 6px 0 var(--ink)}@media (width<=720px){.game-page>.mahjong-toolbar{order:9}.game-page>.mahjong-board-scroll{order:3}.game-page>.mahjong-play-status{order:2}}.game-page>.mahjong-toolbar{background:var(--surface);border:2px solid #b6cfe0;border-radius:20px;margin-bottom:14px;padding:10px;box-shadow:0 3px #d7e7f2}.game-page .mahjong-play-status dl{background:var(--surface);box-shadow:none;border:1px solid #a7c8df;border-radius:16px}.game-page .mahjong-actions{box-shadow:none;background:0 0;border:0;padding:4px}.game-page .mahjong-board-scroll{border-width:2px;border-color:#38678e;border-radius:24px;box-shadow:0 5px #bdd8eb}.mahjong-board{border:2px solid var(--ink);border-radius:var(--radius-panel);background:var(--teal-pale);max-width:720px;box-shadow:7px 7px 0 var(--teal);grid-template-columns:repeat(4,minmax(82px,1fr));gap:14px;margin-inline:auto;padding:clamp(18px,4vw,38px);display:grid}.mahjong-board-scroll{contain:inline-size;overscroll-behavior-inline:contain;border:2px solid var(--ink);border-radius:var(--radius-panel);background:var(--teal-pale);scrollbar-gutter:stable;max-width:100%;padding:8px 8px 18px;overflow:auto}.mahjong-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:18px;padding-inline:18px;display:grid}.mahjong-layout-choices,.mahjong-actions{border:0;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:0;padding:0;display:flex}.mahjong-layout-choices{justify-content:flex-start}.mahjong-toolbar .button{gap:10px;padding-inline:14px}.mahjong-actions{border-left:1px solid var(--line);flex-wrap:nowrap;justify-content:flex-end;padding-left:18px}.mahjong-play-status{grid-template-columns:minmax(280px,1fr) auto;align-items:stretch;gap:12px;margin-block:18px;display:grid}.mahjong-play-status .game-message{border:1px solid var(--line);border-radius:var(--radius-control);text-align:left;min-height:58px;margin:0}.mahjong-play-status dl{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);grid-template-columns:repeat(3,minmax(88px,1fr));min-width:330px;margin:0;padding:8px 12px;display:grid}.mahjong-play-status dl div{border-left:1px solid var(--line);text-align:center;place-items:center;padding-inline:10px;display:grid}.mahjong-play-status dl div:first-child{border-left:0}.mahjong-play-status dt{color:var(--ink-soft);font-size:max(.78rem, var(--senior-supporting-size));letter-spacing:.06em;text-transform:uppercase;font-weight:800}.mahjong-play-status dd{font-family:var(--display);margin:0;font-size:1.4rem;font-weight:900}.mahjong-play-status[data-deadlocked=true] .game-message,.mahjong-play-status[data-deadlocked=true] dl{border-color:var(--coral-dark);background:var(--coral-pale)}.mahjong-board-layered{max-width:none;box-shadow:none;background:0 0;border:0;margin:0 auto;padding:0;display:block;position:relative}.mahjong-tile-layered{width:74px;min-width:74px;height:94px;min-height:94px;box-shadow:4px 5px 0 var(--ink-soft);border-radius:12px;padding:6px 4px;position:absolute}.mahjong-tile-layered span{font-size:1.45rem}.mahjong-tile-layered small{font-size:max(.78rem, var(--senior-supporting-size));line-height:1.05}.mahjong-tile,.mahjong-space{border-radius:var(--radius-control);min-height:118px}.mahjong-tile{border:2px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;place-items:center;padding:10px;display:grid}.mahjong-tile>span{font-family:var(--display);font-size:clamp(1.7rem,4vw,2.5rem)}.mahjong-tile small{font-weight:800}.mahjong-tile:disabled,.mahjong-tile-blocked{border-color:var(--line);background:color-mix(in srgb, var(--surface) 82%, var(--line));color:var(--ink-soft);opacity:1}.mahjong-tile:disabled{cursor:not-allowed}.mahjong-tile-open{border-color:var(--ink);opacity:1}.mahjong-tile-selected{outline:5px solid var(--coral);outline-offset:2px}.mahjong-tile-clearing{pointer-events:none;animation:.26s ease-in forwards mahjong-clear}@media (width<=760px){.mahjong-board{gap:8px;padding:14px}.mahjong-toolbar{grid-template-columns:1fr;justify-content:center}.mahjong-layout-choices,.mahjong-actions{justify-content:center}.mahjong-actions{border-top:1px solid var(--line);border-left:0;padding-top:16px;padding-left:0}.mahjong-play-status{grid-template-columns:1fr}.mahjong-play-status dl{min-width:0}.mahjong-tile,.mahjong-space{min-height:92px}}@media (width<=430px){.mahjong-board{grid-template-columns:repeat(4,minmax(54px,1fr))}.mahjong-layout-choices .button,.mahjong-actions .button,.mahjong-actions .text-button{flex:130px}.mahjong-play-status dl,.mahjong-play-status dl div{padding-inline:4px}.mahjong-tile,.mahjong-space{min-height:76px}.mahjong-tile small{font-size:1rem}}.mahjong-page{--game-accent:var(--green);--game-soft:var(--green-pale);--game-stage:var(--sky-pale)}.mahjong-board-scroll{width:min(100%,720px);margin-inline:auto}.mahjong-tile{box-shadow:3px 4px 0 var(--teal-dark);border-width:3px;border-radius:18px 18px 18px 7px}.mahjong-tile:nth-child(4n+1){background:var(--mustard-pale)}.mahjong-tile:nth-child(4n+2){background:var(--pink-pale)}.mahjong-tile:nth-child(4n+3){background:var(--green-pale)}.mahjong-board.mahjong-board-layered{box-shadow:none;background:0 0;border:0;border-radius:0}.mahjong-tile.mahjong-tile-blocked{border-color:var(--line);background:color-mix(in srgb, var(--surface) 78%, var(--line));color:var(--ink-soft);filter:saturate(.35);box-shadow:1px 2px 0 var(--line);transform:scale(.97)}.mahjong-page{overflow-x:clip}.game-page>.mahjong-toolbar{flex-wrap:wrap;align-items:center;display:flex}.mahjong-actions{flex:1}.game-page .mahjong-play-status dl{padding:8px}.game-page .mahjong-play-status dl div{padding-block:0}.game-page .mahjong-play-status .game-message{margin-bottom:8px}@media (width<=720px){.game-page .mahjong-play-status{margin-bottom:8px}}}
