    .cd-stage {
        display: flex; justify-content: center; align-items: center;
        margin: 16px 0 8px;
        min-height: 200px;
        perspective: 800px;
    }
    .cd-coin {
        width: 160px; height: 160px;
        position: relative;
        transform-style: preserve-3d;
        transition: transform 1.4s cubic-bezier(0.18, 0.85, 0.22, 1);
    }
    .cd-coin__face {
        position: absolute; inset: 0;
        border-radius: 50%;
        display: flex; align-items: center; justify-content: center;
        font-size: 1.4rem; font-weight: 900;
        backface-visibility: hidden;
        box-shadow: 0 14px 36px rgba(0,0,0,0.5), inset 0 0 0 6px rgba(0,0,0,0.18);
    }
    .cd-coin__face--h {
        background: radial-gradient(circle at 32% 28%, #FFE07A, #C28A1B 70%);
        color: #2B1A02;
    }
    .cd-coin__face--t {
        background: radial-gradient(circle at 32% 28%, #C9D8FF, #4D6FFF 70%);
        color: #04102B;
        transform: rotateY(180deg);
    }
    .cd-die {
        width: 140px; height: 140px;
        background: linear-gradient(135deg, #1d2a4a, #04102B);
        border-radius: 18px;
        border: 1px solid rgba(255,255,255,0.14);
        box-shadow: 0 14px 36px rgba(0,0,0,0.5), inset 0 0 0 4px rgba(255,255,255,0.06);
        display: flex; align-items: center; justify-content: center;
        position: relative;
        transition: transform 0.6s ease;
    }
    .cd-die--small { width: 110px; height: 110px; border-radius: 14px; }
    .cd-die__value {
        font-size: 3rem; font-weight: 900;
        background: linear-gradient(135deg, var(--calc-accent-2), var(--calc-accent));
        -webkit-background-clip: text; background-clip: text; color: transparent;
    }
    .cd-die-pair { display: flex; gap: 18px; align-items: center; }
    .cd-die--rolling { animation: cd-shake 0.6s ease-in-out 1; }
    @keyframes cd-shake {
        0%,100% { transform: rotate(0deg); }
        20% { transform: rotate(-12deg) translateY(-6px); }
        40% { transform: rotate(10deg) translateY(4px); }
        60% { transform: rotate(-8deg) translateY(-3px); }
        80% { transform: rotate(6deg) translateY(2px); }
    }
    .cd-result { text-align: center; padding: 18px 16px; }
    .cd-result__value {
        font-size: 2.6rem; font-weight: 900;
        margin: 6px 0 2px;
        background: linear-gradient(135deg, var(--calc-accent-2), var(--calc-accent));
        -webkit-background-clip: text; background-clip: text; color: transparent;
    }
    .cd-result__detail { color: var(--pk-fg-mut); margin: 0; }
    .cd-actions { display: flex; justify-content: center; margin: 14px 0 4px; }
    .cd-history { margin-top: 18px; }
    .cd-history__label {
        font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em;
        text-transform: uppercase; color: var(--pk-fg-mut);
        margin: 0 0 8px;
    }
    .cd-history__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
    .cd-history__list li {
        background: rgba(0,0,0,0.30);
        border: 1px solid rgba(255,255,255,0.10);
        border-radius: 8px;
        padding: 6px 12px;
        font-size: 0.85rem;
        font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
        color: var(--pk-fg-mut);
    }
    .pk-btn--xl { padding: 14px 32px; font-size: 1.05rem; min-width: 220px; justify-content: center; }
    .pk-btn--xl[disabled] { opacity: 0.55; cursor: not-allowed; }
    .pk-btn {
        display: inline-flex; align-items: center; gap: 8px;
        padding: 10px 16px; border-radius: 10px;
        background: rgba(255,255,255,0.06);
        border: 1px solid rgba(255,255,255,0.12);
        color: var(--pk-fg); font-weight: 700; font-size: 0.85rem;
        cursor: pointer;
        transition: background .15s ease, border-color .15s ease;
    }
    .pk-btn--primary {
        background: linear-gradient(135deg, var(--calc-accent-2), var(--calc-accent));
        border-color: transparent; color: #04102B;
    }
