.ui-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ui-spacer{margin-left:auto}.ui-grid{gap:var(--space-3);display:grid}.ui-grid--2{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.ui-grid--3{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.ui-stack{gap:var(--space-4);flex-direction:column;display:flex}.ui-field{flex-direction:column;min-width:0;display:flex}.ui-label{margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-faint);font-weight:700;display:block}.ui-input,.ui-area,.ui-select{width:100%;padding:var(--space-3);border:var(--border-width) solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-surface);color:var(--c-text);font-family:var(--font-mono);font-size:var(--step--1);font-variant-numeric:tabular-nums}.ui-input:focus-visible,.ui-area:focus-visible,.ui-select:focus-visible{border-color:var(--c-accent);box-shadow:var(--shadow-sm);outline:none}.ui-area{resize:vertical;line-height:var(--leading-snug)}.ui-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.5rem;padding:0 var(--space-4);border:var(--border-width) solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-surface);color:var(--c-text);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:box-shadow var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease);font-weight:700;display:inline-flex}.ui-btn:hover:not(:disabled){border-color:var(--c-accent);color:var(--c-accent);box-shadow:var(--shadow-sm);transform:translate(-1px,-1px)}.ui-btn:active:not(:disabled){box-shadow:none;transform:none}.ui-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.ui-btn--primary{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-accent-contrast)}.ui-btn--primary:hover:not(:disabled){color:var(--c-accent-contrast);border-color:var(--c-accent-hover);box-shadow:var(--shadow-ink-2)}.ui-btn--ghost{background:0 0}.ui-btn--sm{min-height:2rem;padding:0 var(--space-3);font-size:var(--step--2)}.ui-panel{padding:var(--space-4);border:var(--border-width) solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-surface)}.ui-panel--flat{background:var(--c-bg-subtle)}.ui-note{padding:var(--space-3) var(--space-4);border-left:var(--ink-bar-width) solid var(--c-text-faint);background:var(--c-bg-subtle);font-size:var(--step--1);color:var(--c-text-muted);margin:0}.ui-note--err{border-left-color:var(--c-accent);color:var(--c-text)}.ui-note--ok{border-left-color:var(--c-ink-2)}.ui-empty{padding:var(--space-6);border:var(--border-hair) dashed var(--c-border);color:var(--c-text-faint);font-size:var(--step--1);text-align:center;margin:0}.ui-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ui-faint{color:var(--c-text-faint)}.ui-stats{gap:var(--space-5);flex-wrap:wrap;display:flex}.ui-stat{flex-direction:column;gap:2px;display:flex}.ui-stat .k{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;color:var(--c-text-faint);font-weight:700}.ui-stat .v{font-family:var(--font-mono);font-size:var(--step-2);font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.ui-stat .v.is-accent{color:var(--c-accent)}.ui-tabs{border-bottom:var(--border-width) solid var(--c-border);flex-wrap:wrap;display:flex}.ui-tab{min-height:2.25rem;margin-bottom:calc(var(--border-width) * -1);padding:0 var(--space-4);border:0;border-bottom:var(--border-width) solid transparent;color:var(--c-text-muted);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;font-weight:700}.ui-tab:hover{color:var(--c-accent)}.ui-tab.is-on{color:var(--c-text);border-bottom-color:var(--c-accent)}.ui-table{border-collapse:collapse;width:100%;font-size:var(--step--1)}.ui-table th,.ui-table td{padding:var(--space-2) var(--space-3);border-bottom:var(--border-hair) solid var(--c-border);text-align:left}.ui-table th{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-faint);font-weight:700}.ui-check{align-items:center;gap:var(--space-2);font-size:var(--step--1);color:var(--c-text-muted);cursor:pointer;display:inline-flex}.ui-check input{width:1.05rem;height:1.05rem;accent-color:var(--c-accent)}.ui-overlay{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--c-bg);opacity:.95;text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.ui-overlay-title{font-size:var(--step-2);margin:0;font-weight:800}.ui-overlay-sub{color:var(--c-text-muted);font-size:var(--step--1);margin:0}.mj{--mj-felt:#123c31;--mj-felt-deep:#0a241d;--mj-ivory:#f6efdc;--mj-ivory-edge:#cfc1a0;--mj-ink:#1a1813;--mj-red:#b3352a;--mj-green:#2f6b4f;--mj-blue:#2a4f7c;gap:var(--space-4);flex-direction:column;width:100%;display:flex}.mj-bar{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.mj-meta{font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;color:var(--c-text-faint);margin:0}.mj-scores{gap:var(--space-2);flex-wrap:wrap;display:flex}.mj-score{align-items:baseline;gap:var(--space-2);border:1px solid var(--c-border);font-family:var(--font-mono);font-size:var(--step--2);padding:.1em .5em;display:inline-flex}.mj-score b{letter-spacing:.06em;color:var(--c-text-muted);font-weight:700}.mj-score.is-you{border-color:var(--c-accent)}.mj-score.is-you b{color:var(--c-accent)}.mj-bar .ui-btn{margin-left:auto}.mj-table{gap:var(--space-3);padding:var(--space-3);background:var(--mj-felt);border:2px solid var(--mj-felt-deep);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"top top top""left center right""bottom bottom bottom";display:grid}.mj-seat{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.mj-seat--top{grid-area:top;align-items:center}.mj-seat--left{grid-area:left}.mj-seat--right{grid-area:right}.mj-seat--bottom{grid-area:bottom}.mj-seat__name{font-size:var(--step--2);letter-spacing:.06em;color:#cfe0d6;margin:0}.mj-seat__hand,.mj-seat__river,.mj-seat__melds{flex-wrap:wrap;gap:2px;display:flex}.mj-seat__river{padding-top:var(--space-1);border-top:1px dashed #2c5a4b}.mj-meld{margin-right:var(--space-2);gap:1px;display:inline-flex}.mj-center{justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-2);text-align:center;border:1px solid #2c5a4b;flex-direction:column;grid-area:center;display:flex}.mj-wall{font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;color:#9fb8ab;margin:0}.mj-wall__n{font-family:var(--font-mono);font-size:var(--step-2);color:var(--mj-ivory);margin:0;line-height:1}.mj-wall__turn{font-size:var(--step--2);color:#9fb8ab;margin:0}.mj-tile{background:var(--mj-ivory);min-width:2rem;height:2.7rem;color:var(--mj-ink);border:1px solid var(--mj-ivory-edge);box-shadow:2px 2px 0 var(--mj-felt-deep);font-family:var(--font-mono);white-space:nowrap;user-select:none;justify-content:center;align-items:center;padding:0 .3rem;font-size:.78rem;line-height:1;display:inline-flex}.mj-tile[data-suit="0"]{color:var(--mj-red)}.mj-tile[data-suit="1"]{color:var(--mj-green)}.mj-tile[data-suit="2"]{color:var(--mj-blue)}.mj-tile[data-suit="3"]{color:var(--mj-ink)}.mj-tile.is-sm{min-width:1.4rem;height:1.9rem;box-shadow:1px 1px 0 var(--mj-felt-deep);padding:0 .12rem;font-size:.62rem}.mj-tile.is-back{background:var(--mj-green);border-color:var(--mj-felt-deep);box-shadow:none}.mj-tile.is-dim{opacity:.82}.mj-tile.is-active{outline:2px solid var(--mj-red);outline-offset:1px}.mj-hand{padding-top:var(--space-1);flex-wrap:wrap;gap:2px;display:flex}.mj-hand__btn{cursor:pointer;background:0 0;border:0;padding:0}.mj-hand__btn:disabled{cursor:default}.mj-hand__btn:not(:disabled):hover .mj-tile{transform:translateY(-2px)}.mj-hand__btn:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.mj-actions{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--c-border);background:var(--c-surface);flex-direction:column;display:flex}.mj-status{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.04em;color:var(--c-text-muted);margin:0}.mj-status.is-you{color:var(--c-accent)}.mj-hint{font-size:var(--step--1);color:var(--c-text-faint);margin:0}.mj-feed{font-size:var(--step--2);color:var(--c-text-faint);flex-direction:column;gap:2px;margin:0;padding-left:1.1em;display:flex}.mj-result{gap:var(--space-2);padding:var(--space-3);border:2px solid var(--c-accent);flex-direction:column;display:flex}.mj-result__title{font-size:var(--step-1);margin:0;font-weight:700}.mj-result__sub{color:var(--c-text-muted);margin:0}.mj-rules{font-size:var(--step--1);color:var(--c-text-faint);text-wrap:pretty;margin:0}@media (width<=640px){.mj-table{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"top top""center center""left right""bottom bottom"}}
