.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}.ddz-table{gap:var(--space-3);width:100%;padding:var(--space-4);border:var(--border-width) solid var(--c-border);background:radial-gradient(ellipse at 50% 38%, #1a4538 0%, var(--ddz-felt) 58%, var(--ddz-felt-deep) 100%);box-shadow:var(--shadow-ink);color:#f3ecdc;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) minmax(0,1fr);grid-template-areas:"left center right""me me me";display:grid;position:relative;overflow:hidden}.ddz-table:before{content:"";z-index:0;pointer-events:none;opacity:.7;background-image:radial-gradient(circle,#f3ecdc17 1px,#0000 1.4px);background-size:8px 8px;position:absolute;inset:0}.ddz-table>*{z-index:1;position:relative}.ddz-seat{gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid #0000;flex-direction:column;display:flex}.ddz-seat.is-landlord{border-color:color-mix(in oklab, var(--ddz-gold) 55%, transparent);background:color-mix(in oklab, var(--ddz-gold) 6%, transparent)}.ddz-seat--left{grid-area:left}.ddz-seat--right{text-align:right;grid-area:right;align-items:flex-end}.ddz-seat.is-thinking .ddz-count{animation:ddz-pulse 1.4s var(--ease) infinite}@keyframes ddz-pulse{50%{opacity:.45}}.ddz-name{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.08em;margin:0;font-weight:700;display:flex}.ddz-seat--right .ddz-name{justify-content:flex-end}.ddz-role{font-size:var(--step--2);letter-spacing:.08em;color:var(--ddz-silver);border:1px solid;padding:0 .35em}.ddz-role.is-landlord{border-color:var(--ddz-gold);background:var(--ddz-gold);color:#23180a}.ddz-count,.ddz-score{font-size:var(--step--1);color:var(--ddz-silver);margin:0}.ddz-score{letter-spacing:.04em}.ddz-bubble{max-width:100%;margin:var(--space-1) 0 0;background:var(--ddz-gold);color:#23180a;font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.04em;align-self:flex-start;padding:.1em .5em;font-weight:700}.ddz-seat--right .ddz-bubble{align-self:flex-end}.ddz-center{align-items:center;gap:var(--space-3);padding-block:var(--space-1);flex-direction:column;grid-area:center;display:flex}.ddz-bottom,.ddz-last{align-items:center;gap:var(--space-2);flex-direction:column;min-height:3.4rem;display:flex}.ddz-label{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;color:var(--ddz-silver)}.ddz-bottom-cards,.ddz-last-cards{justify-content:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.ddz-newtrick{font-size:var(--step--1);color:var(--ddz-silver);text-align:center;margin:0}.ddz-me{gap:var(--space-2);padding-top:var(--space-3);border-top:1px dashed color-mix(in oklab, var(--ddz-silver) 30%, transparent);flex-direction:column;grid-area:me;display:flex}.ddz-me-info{align-items:baseline;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.ddz-hand{padding:var(--space-4) 0 var(--space-1);justify-content:center;display:flex}.ddz-hand .ddz-card--md{--ddz-w:2.9rem}.ddz-hand-card{cursor:pointer;transition:transform var(--duration-fast) var(--ease);background:0 0;border:0;flex:none;margin-left:-1.02rem;padding:0}.ddz-hand-card:first-child{margin-left:0}.ddz-hand-card:hover{transform:translateY(-.3rem)}.ddz-hand-card.is-selected{z-index:2;transform:translateY(-.75rem)}.ddz-card{--ddz-w:2.5rem;width:var(--ddz-w);aspect-ratio:5/7;border:2px solid var(--ddz-ink);background:var(--ddz-paper);color:var(--ddz-ink);font-family:var(--font-mono);font-size:calc(var(--ddz-w) * .4);user-select:none;line-height:1;display:inline-block;position:relative;box-shadow:2px 2px #060c0a73}.ddz-card[data-red=true]{color:var(--ddz-red)}.ddz-card.ddz-card--sm{--ddz-w:1.9rem}.ddz-card.ddz-card--md{--ddz-w:2.5rem}.ddz-card.ddz-card--lg{--ddz-w:3rem}.ddz-card.is-selected{border-color:var(--ddz-gold);box-shadow:0 0 0 2px var(--ddz-gold)}.ddz-corner{flex-direction:column;align-items:center;width:1.5em;line-height:.95;display:flex;position:absolute;top:.14em;left:.18em}.ddz-corner.is-flip{inset:auto .18em .14em auto;transform:rotate(180deg)}.ddz-rank{letter-spacing:-.02em;font-weight:800}.ddz-suit{font-size:.8em;font-style:normal}.ddz-card-center{opacity:.9;place-items:center;font-size:2em;display:grid;position:absolute;inset:0}.ddz-card.is-joker .ddz-card-center{font-size:1.9em;font-weight:800}.ddz-card.is-big-joker{background:color-mix(in oklab, var(--ddz-gold) 26%, var(--ddz-paper))}.ddz-back{border:1px solid var(--ddz-paper);background-color:var(--ddz-felt-deep);background-image:repeating-linear-gradient(45deg,#e7b24a99 0 3px,#0000 3px 7px),repeating-linear-gradient(-45deg,#e7b24a59 0 3px,#0000 3px 7px);position:absolute;inset:3px}@media (width<=40rem){.ddz-table{gap:var(--space-2);padding:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"left right""center center""me me"}.ddz-seat{padding:var(--space-1) var(--space-2)}.ddz-hand{padding-inline:var(--space-1);scrollbar-width:thin;justify-content:flex-start;overflow-x:auto}.ddz-hand::-webkit-scrollbar{height:6px}.ddz-hand .ddz-card--md{--ddz-w:2.2rem}.ddz-hand-card{margin-left:-.85rem}.ddz-card.ddz-card--md{--ddz-w:2.2rem}.ddz-card.ddz-card--sm{--ddz-w:1.65rem}}@media (prefers-reduced-motion:reduce){.ddz-hand-card,.ddz-seat.is-thinking .ddz-count{transition:none;animation:none}}.ddz{--ddz-felt:#12352b;--ddz-felt-deep:#0a2019;--ddz-gold:#e7b24a;--ddz-paper:#fbf6e8;--ddz-ink:#16130e;--ddz-red:#c8341f;--ddz-silver:#b9c9c2;gap:var(--space-4);flex-direction:column;width:100%;display:flex}.ddz-bar{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.ddz-meta{font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;color:var(--c-text-faint);margin:0}.ddz-scores{gap:var(--space-2);flex-wrap:wrap;display:flex}.ddz-score-chip{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}.ddz-score-chip b{letter-spacing:.06em;color:var(--c-text-muted);font-weight:700}.ddz-score-chip span{color:var(--c-text)}.ddz-score-chip.is-you{border-color:var(--c-accent)}.ddz-score-chip.is-you b{color:var(--c-accent)}.ddz-bar .ui-btn{margin-left:auto}.ddz-actions{gap:var(--space-3);padding:var(--space-4);border:var(--border-width) solid var(--c-border);background:var(--c-surface);box-shadow:var(--shadow-ink);flex-direction:column;display:flex}.ddz-status-row{align-items:baseline;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.ddz-status{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;color:var(--c-text-muted);margin:0}.ddz-status.is-you{color:var(--c-accent);font-weight:700}.ddz-sub,.ddz-selection{font-size:var(--step--2);color:var(--c-text-faint);margin:0}.ddz-selection.is-bad{color:var(--c-accent)}.ddz-result{gap:var(--space-2);flex-direction:column;display:flex}.ddz-result-title{font-family:var(--font-display);font-size:var(--step-2);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);line-height:var(--leading-tight);color:var(--c-accent);margin:0}.ddz-result-sub{gap:var(--space-2) var(--space-4);font-size:var(--step--1);color:var(--c-text-muted);flex-wrap:wrap;margin:0;display:flex}.ddz-help{padding-top:var(--space-2);border-top:var(--border-hair) solid var(--c-border);font-size:var(--step--2);color:var(--c-text-faint);margin:0;line-height:1.7}
