.mj-wrap{--mj-face: #F0EADA;--mj-face-edge: #CFC7B2;--mj-ink: #22242A;--mj-red: #A03329;--mj-jade: #1B6B44;--mj-gold: #C7A15C;--mj-side: #B9AE93;--mj-w: clamp(430px, calc((100dvh - 300px)*1.4) , 760px);display:flex;flex-direction:column;align-items:center;gap:clamp(.55rem,1.8vw,.85rem);width:100%}.mj-meta,.mj-stage,.mj-actions,.mj-hint-line,.mj-rotate{width:min(100%,var(--mj-w))}.mj-meta{display:flex;align-items:center;justify-content:space-between;gap:clamp(.5rem,2vw,1rem);flex-wrap:wrap;font-family:var(--font-ui);font-size:.78rem;color:var(--muted)}.mj-stat{font-variant-numeric:tabular-nums;white-space:nowrap}.mj-stat b{color:var(--text);font-weight:600;font-family:var(--font-mono)}.mj-timer{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.mj-stage{position:relative;border-radius:var(--radius-card);background:color-mix(in srgb,var(--surface-2) 62%,transparent);border:1px solid var(--border)}.mj-scroll{position:relative;z-index:0;overflow-x:auto;overscroll-behavior-x:contain;padding:clamp(5px,1vw,9px);border-radius:inherit;-webkit-user-select:none;user-select:none}.mj-board{position:relative;width:max(100%,435px);aspect-ratio:45 / 32;container-type:inline-size}.mj-tile{position:absolute;width:calc(100% / 15);height:12.5%;padding:0;margin:0;text-align:left;background:var(--mj-face);color:var(--mj-ink);border:1px solid var(--mj-face-edge);border-radius:clamp(2px,.9cqw,6px);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,box-shadow .12s ease,opacity .18s ease,filter .15s ease}.mj-z0{box-shadow:1px 2px 0 var(--mj-side),2px 4px 6px color-mix(in srgb,#000 26%,transparent)}.mj-z1{box-shadow:1.5px 2.5px 0 var(--mj-side),3px 6px 9px color-mix(in srgb,#000 30%,transparent)}.mj-z2{box-shadow:2px 3px 0 var(--mj-side),4px 8px 12px color-mix(in srgb,#000 33%,transparent)}.mj-z3{box-shadow:2.5px 3.5px 0 var(--mj-side),5px 10px 15px color-mix(in srgb,#000 36%,transparent)}.mj-z4{box-shadow:3px 4px 0 var(--mj-side),6px 12px 18px color-mix(in srgb,#000 40%,transparent)}.mj-tile.is-free{cursor:pointer}.mj-tile.is-blocked{cursor:default;filter:brightness(.84) saturate(.8)}.mj-tile.is-sel{outline:3px solid var(--accent);outline-offset:0;transform:translate(-2%,-6%);filter:none;box-shadow:4px 8px 0 var(--mj-side),8px 16px 22px color-mix(in srgb,#000 42%,transparent)}.mj-tile.is-hint{outline:3px dashed var(--ink-gold);outline-offset:0}.mj-tile:focus-visible{outline:3px solid var(--ring);outline-offset:1px}.mj-tile.is-out{opacity:0;pointer-events:none}@keyframes mj-shake{10%,90%{translate:-1px 0}20%,80%{translate:2px 0}30%,50%,70%{translate:-3px 0}40%,60%{translate:3px 0}}.mj-tile.mj-shake{animation:mj-shake .38s cubic-bezier(.36,.07,.19,.97) both}.mj-ix{position:absolute;top:4%;left:8%;pointer-events:none;font-family:var(--font-mono);font-weight:700;line-height:1;font-size:clamp(6.5px,1.55cqw,11px);letter-spacing:0}.mj-art{position:absolute;inset:21% 7% 6%;width:86%;height:73%;pointer-events:none}.mj-mid{position:absolute;inset:17% 4% 5%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5%;pointer-events:none}.mj-cnum{font-family:var(--font-display);font-weight:600;line-height:1;font-variation-settings:"opsz" 40;font-size:clamp(11px,3.1cqw,22px)}.mj-wan{color:var(--mj-red);font-weight:600;line-height:1;font-size:clamp(7px,1.9cqw,13px)}.mj-wl{font-family:var(--font-mono);font-weight:700;line-height:1;font-size:clamp(10px,2.9cqw,20px)}.mj-compass{width:32%}.mj-drag{font-weight:600;line-height:1;font-size:clamp(13px,3.6cqw,26px)}.mj-dr-red{color:var(--mj-red)}.mj-dr-jade{color:var(--mj-jade)}.mj-band{position:absolute;top:0;left:0;right:0;height:18%;background:var(--mj-gold);border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;pointer-events:none}.mj-bonus .mj-ix{top:3.5%}.mj-bonus .mj-art{inset:24% 8% 6%;width:84%;height:70%}.mj-f-ink{fill:var(--mj-ink)}.mj-f-red{fill:var(--mj-red)}.mj-f-jade{fill:var(--mj-jade)}.mj-face-fill{fill:var(--mj-face)}.mj-s-ink{stroke:var(--mj-ink);fill:none}.mj-s-red{stroke:var(--mj-red);fill:none}.mj-s-jade{stroke:var(--mj-jade);fill:none}.mj-actions{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}.mj-actions .btn{cursor:pointer}.mj-actions .btn:disabled{opacity:.45;cursor:default;transform:none;box-shadow:var(--shadow-raised)}.mj-hint-line{color:var(--muted);font-size:.78rem;text-align:center;line-height:1.5}.mj-hint-line kbd{font-family:var(--font-mono);font-size:.82em;padding:.05em .35em;border:1px solid var(--border);border-radius:5px;background:var(--surface-2);color:var(--text)}.mj-rotate{display:none;color:var(--muted);font-size:.78rem;text-align:center;line-height:1.5}@media(max-width:520px)and (orientation:portrait){.mj-rotate{display:block}}.mj-overlay{position:absolute;inset:0;display:none;place-items:center;text-align:center;z-index:10;padding:1.1rem;border-radius:inherit;background:color-mix(in srgb,var(--surface-2) 84%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:mj-fade .2s ease both}@keyframes mj-fade{0%{opacity:0}to{opacity:1}}.mj-overlay.show{display:grid}.mj-over-kicker{font-family:var(--font-ui);font-size:.64rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--ink-gold);margin-bottom:.35rem}.mj-over-title{font-family:var(--font-display);font-weight:600;font-variation-settings:"opsz" 40;font-size:clamp(1.6rem,6.5vw,2.2rem);letter-spacing:-.02em;color:var(--text);line-height:1.05}.mj-over-sub{color:var(--muted);font-size:.95rem;line-height:1.5;margin:.5rem 0 1.05rem;max-width:44ch;margin-inline:auto}.mj-over-sub b{color:var(--text);font-weight:700}.mj-over-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:center}.mj-over-actions .btn:disabled{opacity:.45;cursor:default}@media(prefers-reduced-motion:reduce){.mj-tile{transition:none}.mj-tile.mj-shake,.mj-overlay{animation:none}}@media(hover:hover)and (pointer:fine){.mj-tile.is-free:not(.is-sel):hover{transform:translate(-1%,-3%)}}@media(max-width:640px){.mj-meta{font-size:.72rem}.mj-hint-line{display:none}}#statsModal .rp-stats{flex-wrap:wrap;row-gap:.9rem}.modal-mini{font-size:.82rem;color:var(--muted)}.modal-confirm-msg{color:var(--muted);font-size:.95rem;line-height:1.55}.modal-actions{display:flex;gap:.6rem;justify-content:flex-end;flex-wrap:wrap}.modal-actions .btn{cursor:pointer}.mj-copy{max-width:var(--readw, 68ch);margin:clamp(1.8rem,5vw,2.8rem) auto 0}.mj-copy h2{font-family:var(--font-display);font-weight:500;font-variation-settings:"opsz" 40;font-size:clamp(1.25rem,3.6vw,1.6rem);letter-spacing:-.01em;color:var(--text);margin:clamp(1.4rem,3.5vw,2rem) 0 .6rem}.mj-copy h2:first-child{margin-top:0}.mj-copy p{color:var(--muted);font-size:1rem;line-height:1.7;margin:0 0 .9rem}.mj-copy p strong,.mj-copy li strong{color:var(--text);font-weight:600}.mj-copy ul{list-style:none;margin:0 0 .9rem;padding:0;display:grid;gap:.7rem}.mj-copy li{position:relative;padding-left:1.35rem;color:var(--muted);font-size:1rem;line-height:1.65}.mj-copy li:before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:2px;background:var(--ink-gold)}.mj-copy kbd{font-family:var(--font-mono);font-size:.84em;padding:.05em .35em;border:1px solid var(--border);border-radius:5px;background:var(--surface-2);color:var(--text)}.mj-diagram{display:block;width:min(340px,100%);margin:.4rem auto 1.1rem;color:var(--muted)}.mj-diagram text{font-family:var(--font-ui);font-size:13px;font-weight:600;fill:currentColor}.mj-ad{display:flex;justify-content:center;margin:clamp(1.6rem,4vw,2.6rem) 0 clamp(1rem,2.5vw,1.4rem)}
