.page{--felt: #17432E;--felt-deep: #0F3021;--felt-rule: #2C6046;--felt-text: #EEE7D8;--felt-gold: #D9B26A;--bone: #FFFBF0;--bone-edge: #CFC3A6;--bone-line: #B9AD90;--ink: #1F1A15}.board-wrap{display:flex;justify-content:center}.banner h2:after{background:var(--felt-gold)}.banner:not([hidden]){animation:rh-pop .3s var(--ease)}.dm{--color-focus: var(--felt-gold);--lt: clamp(18px, 5.5vw, 28px);width:100%;max-width:640px;display:grid;gap:var(--space-3);background:var(--felt);color:var(--felt-text);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-3)}.dm-tile{--h: var(--lt);display:inline-flex;flex:none;width:calc(var(--h) * 2);height:var(--h);padding:0;margin:0;border:1px solid var(--bone-edge);border-radius:calc(var(--h) * .18);background:var(--bone);box-shadow:0 1px 2px #00000059;color:var(--ink);touch-action:manipulation;user-select:none;-webkit-user-select:none}.dm-tile--across{flex-direction:column;width:var(--h);height:calc(var(--h) * 2)}.dm-half{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:calc(var(--h) * .14);min-width:0}.dm-half+.dm-half{border-left:1px solid var(--bone-line)}.dm-tile--across .dm-half+.dm-half{border-left:0;border-top:1px solid var(--bone-line)}.pip{border-radius:50%;background:var(--ink)}.pip--off{background:transparent}.dm-tile--last{box-shadow:0 0 0 2px var(--felt-gold)}.dm-tile--end{outline:3px solid var(--felt-gold);outline-offset:2px}.dm__others{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3)}.dm__other{display:grid;gap:4px;padding:6px 10px;border:1px solid var(--felt-rule);border-radius:var(--radius-md);min-width:0}.dm__other--active{border-color:var(--felt-gold);box-shadow:inset 0 0 0 1px var(--felt-gold)}.dm__name{font-weight:600;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm__count{font-size:.8rem;color:var(--felt-gold)}.dm__backs{display:flex;flex-wrap:wrap;gap:3px;--lt: 12px}.dm-back{width:12px;height:24px;border-radius:3px;background:var(--felt-deep);border:1px solid var(--felt-rule)}.dm__line{display:grid;justify-content:center;align-content:center;gap:3px;min-height:calc(var(--lt) * 2 + var(--space-4));padding:var(--space-2);border-top:1px solid var(--felt-rule);border-bottom:1px solid var(--felt-rule)}.dm__row{display:flex;flex-wrap:nowrap;align-items:center;gap:3px;min-width:0}.dm__row--back{flex-direction:row-reverse}.dm__empty{margin:0;color:var(--felt-gold);font-size:.9rem}.dm__mid{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;min-height:36px}.dm__bone{font-size:.9rem;color:var(--felt-gold);font-weight:600}.dm__ends{display:flex;gap:var(--space-2);flex-wrap:wrap}.dm__ends .btn--primary{background:var(--felt-gold);border-color:var(--felt-gold);color:var(--ink)}.dm__ends .btn--ghost{background:transparent;border-color:var(--felt-text);color:var(--felt-text)}.dm__label,.dm__privacy-title{margin:0 0 var(--space-2);font-size:.85rem;font-weight:600;color:var(--felt-gold);text-transform:uppercase;letter-spacing:.06em}.dm__hand{display:flex;flex-wrap:wrap;gap:var(--space-2);--lt: clamp(22px, 6.5vw, 32px)}.dm__hand .dm-tile{flex-direction:column;width:max(44px,var(--lt));height:calc(max(44px,var(--lt))*2)}.dm__hand .dm-half+.dm-half{border-left:0;border-top:1px solid var(--bone-line)}.dm__hand .dm-tile[disabled]{opacity:.72;filter:saturate(.5);cursor:default}.dm__hand .dm-tile:not([disabled]):hover{transform:translateY(-3px)}.dm__hand .dm-tile--selected{transform:translateY(-6px);box-shadow:0 0 0 3px var(--felt-gold)}.dm__hand .dm-tile:focus-visible{outline:3px solid var(--felt-gold);outline-offset:2px}.dm__actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.dm__actions .btn--primary{background:var(--felt-gold);border-color:var(--felt-gold);color:var(--ink)}.dm__privacy{display:grid;gap:var(--space-2);justify-items:center;text-align:center;padding:var(--space-4) var(--space-3);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md)}.dm__privacy p{margin:0}.dm__privacy .dm__privacy-title{color:var(--color-text);font-size:1.1rem;text-transform:none;letter-spacing:0;font-family:var(--font-heading)}@media (max-width: 480px){.dm{padding:var(--space-2);gap:var(--space-2)}.dm__others{gap:6px}.dm__other{padding:4px 8px}}
