html,body{margin:0;height:100%;overflow:hidden;background:#0b0c0e;color:#e8eaed;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}#table-app{height:100dvh;display:grid;grid-template-rows:auto 1fr auto;background:radial-gradient(circle at 18% 12%,rgba(180,190,205,.06),transparent 28%),radial-gradient(circle at 82% 88%,rgba(40,44,52,.45),transparent 34%),#0e0f12}.table-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(10px)}.table-back,.table-reshuffle{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .9rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:#f6f0e8;text-decoration:none;font-size:.85rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.table-back:hover,.table-reshuffle:hover{background:#ffffff1a;border-color:#ffffff3d}.table-meta{text-align:center;min-width:0}.table-meta p{margin:0}#table-counter{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#f2ebe29e}.table-hint{margin-top:.2rem;font-size:.8rem;color:#f2ebe273}.table-hint kbd{padding:.08rem .35rem;border-radius:4px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;font-size:.72rem;font-family:ui-monospace,monospace}.table-stage{position:relative;min-height:0;padding:.75rem}.table-surface{position:relative;width:100%;height:100%;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 50% 16%,rgba(210,214,220,.07),transparent 44%),linear-gradient(180deg,rgba(255,255,255,.03),transparent 18%),repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0,rgba(255,255,255,.012) 2px,transparent 2px,transparent 96px),repeating-linear-gradient(0deg,rgba(0,0,0,.05) 0,rgba(0,0,0,.05) 2px,transparent 2px,transparent 28px),linear-gradient(160deg,#2c2d31,#1c1d21 46%,#121316);border:1px solid rgba(220,224,230,.07);box-shadow:inset 0 1px #ffffff0a,inset 0 -24px 48px #00000052}.table-card{position:absolute;left:0;top:0;margin:0;padding:0;border:none;background:transparent;border-radius:0;box-shadow:0 14px 28px #00000057,0 3px 8px #0000002e;transform:translate(calc(var(--x) - 50%),calc(var(--y) - 50%)) rotate(var(--rot)) scale(var(--scale, 1));transform-origin:center center;cursor:grab;touch-action:none;transition:box-shadow .18s ease,transform .18s ease;will-change:transform}.table-card img{display:block;width:100%;height:auto;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}.table-card.is-dragging{--scale: 1.2;cursor:grabbing;transition:box-shadow .18s ease,transform .12s ease;z-index:9999!important;box-shadow:0 28px 54px #0000007a,0 10px 20px #00000047}.table-card.is-focused{--scale: 1.3;z-index:9998!important;box-shadow:0 30px 58px #00000080,0 12px 24px #0000004d}.table-card.is-focused.is-dragging{--scale: 1.34}.table-viewer{position:fixed;inset:0;margin:0;padding:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:none;background:#0b0c0e;color:#f2ebe2;overflow:hidden}.table-viewer::backdrop{background:#000000e0;backdrop-filter:blur(10px)}.table-viewer-toolbar{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.85rem 1rem;background:linear-gradient(180deg,rgba(0,0,0,.72),transparent);pointer-events:none}.table-viewer-toolbar>*{pointer-events:auto}.table-viewer-meta{min-width:0;text-shadow:0 1px 8px rgba(0,0,0,.65)}.table-viewer-roll{margin:0;font-size:.95rem;font-weight:600}.table-viewer-desc{margin:.2rem 0 0;font-size:.8rem;color:#f2ebe2b8}.table-viewer-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.table-viewer-btn,.table-viewer-link{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#121214b8;backdrop-filter:blur(8px);color:#f6f0e8;font-size:.82rem;text-decoration:none;cursor:pointer}.table-viewer-link{padding:0 .85rem}.table-viewer-btn:hover,.table-viewer-link:hover{background:#28282ce0}.table-viewer-close{font-size:1.25rem;line-height:1}.table-viewer-stage{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;touch-action:none;cursor:zoom-in;padding:0}.table-viewer-stage.is-zoomed{cursor:grab}.table-viewer-stage.is-dragging{cursor:grabbing}.table-viewer-img{display:block;max-width:100vw;max-height:100dvh;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none;transform-origin:center center;will-change:transform,opacity;box-shadow:0 24px 80px #0000008c;opacity:1;transition:opacity .12s ease}.table-viewer-img.is-loading{opacity:0}.table-viewer-help{position:absolute;left:0;right:0;bottom:0;z-index:2;margin:0;padding:1.4rem 1rem .9rem;text-align:center;font-size:.75rem;color:#f2ebe280;background:linear-gradient(0deg,rgba(0,0,0,.62),transparent);pointer-events:none}.table-card:hover:not(.is-dragging):not(.is-focused){box-shadow:0 24px 42px #0000006b,0 8px 16px #00000038}.table-caption{padding:.85rem 1.1rem 1.1rem;border-top:1px solid rgba(255,255,255,.06);min-height:4.5rem}.table-caption-roll{margin:0;font-size:.92rem;font-weight:600;letter-spacing:.02em}.table-caption-desc{margin:.25rem 0 0;font-size:.82rem;color:#f2ebe294}@media(max-width:720px){.table-top{flex-wrap:wrap}.table-meta{order:3;width:100%}.table-stage{padding:.5rem}}@media(prefers-reduced-motion:reduce){.table-card{transition:none}}
