:root{--card-width:105px;--card-height:147px;--card-border-radius:9px;--card-bg:#fafaf8;--card-border:1px solid #0000001f;--card-shadow:0 1px 3px #0000001f,0 1px 2px #00000014;--card-shadow-dragging:0 8px 24px #0003,0 2px 8px #0000001f;--suit-red:#d42a2a;--suit-black:#1a1a1a;--slot-bg:#ffffff0a;--slot-border:1px solid #ffffff1f;--slot-border-radius:8px;--cascade-overlap:32px}.dom-board-surface{--card-width:clamp(86px,calc((100vw - 420px)/8.3),120px);--card-height:calc(var(--card-width)*1.4);--card-border-radius:clamp(8px,calc(var(--card-width)*.085),10px);--cascade-overlap:clamp(24px,calc(var(--card-width)*.3),36px);--pile-gap:clamp(4px,calc(var(--card-width)*.06),10px);--board-padding-x:clamp(8px,calc(var(--card-width)*.1),16px);--board-padding-y:clamp(12px,calc(var(--card-width)*.14),22px);--board-max-width:100%;--card-corner-offset-y:clamp(5px,calc(var(--card-width)*.06),7px);--card-corner-offset-x:clamp(6px,calc(var(--card-width)*.065),8px);--card-rank-size:clamp(14px,calc(var(--card-width)*.15),18px);--card-suit-small-size:clamp(13px,calc(var(--card-width)*.135),16px);--card-center-suit-size:clamp(34px,calc(var(--card-width)*.37),44px);--slot-label-size:clamp(22px,calc(var(--card-width)*.24),28px)}@media (max-width:767px){.dom-board-surface{--card-width:clamp(34px,calc((100vw - 44px)/8),54px);--card-height:calc(var(--card-width)*1.4);--card-border-radius:clamp(4px,calc(var(--card-width)*.09),9px);--cascade-overlap:clamp(10px,calc(var(--card-width)*.32),18px);--pile-gap:clamp(3px,1vw,5px);--board-padding-x:clamp(6px,2vw,10px);--board-padding-y:clamp(8px,2.5vw,12px);--board-max-width:100%;--card-corner-offset-y:clamp(3px,calc(var(--card-width)*.06),5px);--card-corner-offset-x:clamp(3px,calc(var(--card-width)*.07),6px);--card-rank-size:clamp(9px,calc(var(--card-width)*.18),14px);--card-suit-small-size:clamp(8px,calc(var(--card-width)*.16),12px);--card-center-suit-size:clamp(15px,calc(var(--card-width)*.36),24px);--slot-label-size:clamp(10px,calc(var(--card-width)*.24),18px)}}.dom-card{width:var(--card-width);height:var(--card-height);background:var(--card-bg);border:var(--card-border);border-radius:var(--card-border-radius);box-shadow:var(--card-shadow);-webkit-user-select:none;user-select:none;touch-action:none;will-change:transform;cursor:grab;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;position:absolute}.dom-card-settling{transition:transform .18s cubic-bezier(.25,.46,.45,.94),box-shadow .15s}.dom-card--dragging{box-shadow:var(--card-shadow-dragging);pointer-events:none;cursor:grabbing;transform:scale(1.02)}.dom-card__inner{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.dom-card__corner{flex-direction:column;align-items:center;line-height:1;display:flex;position:absolute}.dom-card__corner--tl{top:var(--card-corner-offset-y);left:var(--card-corner-offset-x)}.dom-card__corner--br{bottom:var(--card-corner-offset-y);right:var(--card-corner-offset-x);transform:rotate(180deg)}.dom-card__rank{font-size:var(--card-rank-size);letter-spacing:-.02em;font-weight:700}.dom-card__suit-small{font-size:var(--card-suit-small-size);line-height:1.1}.dom-card__center-suit{font-size:var(--card-center-suit-size);opacity:.85;line-height:1}.dom-card--red{color:var(--suit-red)}.dom-card--black{color:var(--suit-black)}.dom-pile{position:relative}.dom-pile--cascade{width:var(--card-width);min-height:var(--card-height)}.dom-pile__slot{width:var(--card-width);height:var(--card-height);border-radius:var(--slot-border-radius);background:var(--slot-bg);border:var(--slot-border);box-sizing:border-box;justify-content:center;align-items:center;display:flex}.dom-pile__slot-label{font-size:var(--slot-label-size);color:#ffffff2e;-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.dom-pile--highlighted .dom-pile__slot{border-color:#4caf5080;box-shadow:0 0 12px #4caf5033}.dom-pile--highlighted.dom-pile--cascade{border-radius:var(--slot-border-radius);background:#4caf500f}.dom-card-dealing{animation:.25s ease-out forwards deal-in;animation-delay:calc(var(--deal-index)*30ms);opacity:0}@keyframes deal-in{0%{opacity:0}to{opacity:1}}.dom-card--selected{transform:translateY(-4px);box-shadow:0 0 0 3px #64b4ffe6,0 0 16px #64b4ff66;z-index:100!important}.dom-card--hint-source{animation:1s ease-in-out infinite hint-pulse;box-shadow:0 0 0 3px #d4af37cc,0 0 16px #d4af3766;z-index:100!important}.dom-pile--hint-target .dom-pile__slot{border-color:#d4af3799;animation:1s ease-in-out infinite hint-pulse;box-shadow:0 0 16px #d4af374d}.dom-pile--hint-target.dom-pile--cascade{border-radius:var(--slot-border-radius);background:#d4af3714;animation:1s ease-in-out infinite hint-pulse;box-shadow:inset 0 0 12px #d4af3726}@keyframes hint-pulse{0%,to{opacity:1}50%{opacity:.6}}.dom-board--idle-hint .dom-card--hint-source,.dom-board--idle-hint .dom-pile--hint-target .dom-pile__slot,.dom-board--idle-hint .dom-pile--hint-target.dom-pile--cascade{opacity:0;animation:.6s ease-out forwards idle-hint-fadein,1s ease-in-out .6s infinite hint-pulse}@keyframes idle-hint-fadein{0%{opacity:0}to{opacity:1}}.dom-confetti-container{pointer-events:none;z-index:100;position:fixed;inset:0;overflow:hidden}.dom-confetti-piece{width:var(--confetti-size,8px);height:var(--confetti-size,8px);background:var(--confetti-color,gold);opacity:0;animation:confetti-fall var(--confetti-duration,3s)ease-in forwards;animation-delay:var(--confetti-delay,0s);position:absolute;top:-10px}.dom-confetti-piece--rect{transform:rotate(var(--confetti-rotate,0deg));border-radius:2px}.dom-confetti-piece--circle{border-radius:50%}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)translate(0)rotate(0)scale(1)}25%{opacity:1}to{opacity:0;transform:translateY(var(--confetti-fall-distance,100vh))translateX(var(--confetti-drift,0px))rotate(var(--confetti-spin,720deg))scale(.5)}}.foundation-sparkle-container{pointer-events:none;z-index:200;position:absolute;inset:0;overflow:visible}.foundation-sparkle-dot{width:var(--dot-size,5px);height:var(--dot-size,5px);background:var(--dot-color,gold);opacity:0;animation:.6s ease-out forwards sparkle-burst;animation-delay:var(--dot-delay,0s);border-radius:50%;position:absolute;top:50%;left:50%}@keyframes sparkle-burst{0%{opacity:1;transform:translate(-50%,-50%)translate(0)scale(1)}to{opacity:0;transform:translate(-50%,-50%)translate(var(--dot-tx,0px),var(--dot-ty,0px))scale(.3)}}.sidebar-scroll::-webkit-scrollbar{width:6px}.sidebar-scroll::-webkit-scrollbar-track{background:0 0}.sidebar-scroll::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background:#fff3}
