/* DATA COURIERS 20XX — FINAL DICE RUNTIME AUTHORITY V1 */

/* dcDiceProfileRendererStyleV1 */
.dc-screen-die.d20 .dc-screen-die-core{
        background:radial-gradient(circle at 35% 24%,rgba(255,255,255,.38),var(--dc-dice-d20-face,#00f6ff) 42%,rgba(0,0,0,.92));
        color:var(--dc-dice-d20-ink,#001018);
        box-shadow:0 0 var(--dc-dice-glow,22px) var(--dc-dice-d20-face,#00f6ff);
      }
      .dc-screen-die.skill .dc-screen-die-core,
      .dc-screen-die.stat .dc-screen-die-core{
        background:radial-gradient(circle at 35% 24%,rgba(255,255,255,.34),var(--dc-dice-skill-face,#00d084) 42%,rgba(0,0,0,.92));
        color:var(--dc-dice-skill-ink,#00150b);
        box-shadow:0 0 var(--dc-dice-glow,22px) var(--dc-dice-skill-face,#00d084);
      }
      .dc-screen-die.edge .dc-screen-die-core,
      .dc-screen-die.d4 .dc-screen-die-core{
        background:radial-gradient(circle at 35% 24%,rgba(255,255,255,.34),var(--dc-dice-edge-face,#ff2f8a) 42%,rgba(0,0,0,.92));
        color:var(--dc-dice-edge-ink,#ffffff);
        box-shadow:0 0 var(--dc-dice-glow,22px) var(--dc-dice-edge-face,#ff2f8a);
      }
      html[data-dc-dice-material="chrome_noir"] .dc-screen-die-core,
      html[data-dc-dice-material="black_chrome"] .dc-screen-die-core{
        filter:contrast(1.12) saturate(.88);
      }
      html[data-dc-dice-material="carbon_fiber"] .dc-screen-die-core{
        background-image:linear-gradient(135deg,rgba(255,255,255,.10) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.08) 75%,transparent 75%,transparent);
        background-size:10px 10px;
      }
      html[data-dc-dice-material="obsidian"] .dc-screen-die-core{
        filter:brightness(.72) contrast(1.5);
      }
      html[data-dc-dice-material="toxic_bio_gel"] .dc-screen-die-core{
        filter:saturate(1.45) hue-rotate(18deg);
      }
      #dcScreenDiceBox{position:relative}
      .dc-dice-material-fx-v3{position:absolute;inset:0;z-index:3;pointer-events:none;mix-blend-mode:screen;opacity:.58;overflow:hidden}
      #dcScreenDiceBox[data-dc-material="neon_core"] .dc-dice-material-fx-v3{background:radial-gradient(circle at 50% 50%,rgba(0,246,255,.15),transparent 48%);box-shadow:inset 0 0 90px rgba(0,246,255,.13)}
      #dcScreenDiceBox[data-dc-material="chrome_noir"] .dc-dice-material-fx-v3{background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.10) 48%,transparent 58%)}
      #dcScreenDiceBox[data-dc-material="ghost_glass"] .dc-dice-material-fx-v3{background:radial-gradient(ellipse,rgba(220,250,255,.13),transparent 55%);filter:blur(7px)}
      #dcScreenDiceBox[data-dc-material="data_crystal"] .dc-dice-material-fx-v3{background:conic-gradient(from 20deg,transparent,rgba(0,246,255,.06),transparent 25%,rgba(255,47,138,.05),transparent 60%)}
      #dcScreenDiceBox[data-dc-material="burned_alloy"] .dc-dice-material-fx-v3{background:radial-gradient(circle at 20% 80%,rgba(255,80,20,.09),transparent 30%)}
      #dcScreenDiceBox[data-dc-material="void_signal"] .dc-dice-material-fx-v3{background:repeating-linear-gradient(0deg,rgba(0,246,255,.045) 0 1px,transparent 1px 8px)}

/* dcGdrproScreenDiceStyle */
html[data-dc-professional-core="1"] #dcDiceFab,
      body[data-dc-professional-core="1"] #dcDiceFab,
      html[data-dc-professional-core="1"] #dcDiceOverlay,
      body[data-dc-professional-core="1"] #dcDiceOverlay,
      #dcDiceFab.dc-gdrpro-hidden,
      #dcDiceOverlay.dc-gdrpro-hidden{
        display:none;
        visibility:hidden;
        opacity:0;
        pointer-events:none;
      }

      .dc-gdrpro-account-shift{
        bottom:76px;
        opacity:.78;
        pointer-events:none;
      }

      .dc-screen-roll-card{
        margin:12px 0 14px 48px;
        max-width:760px;
        border:1px solid rgba(0,246,255,.48);
        border-radius:16px;
        background:linear-gradient(135deg, rgba(0,15,25,.92), rgba(34,5,32,.88));
        box-shadow:0 0 22px rgba(0,246,255,.12);
        color:#eaffff;
        padding:14px;
      }

      .dc-screen-roll-head{
        display:flex;
        justify-content:space-between;
        align-items:center;
        gap:12px;
        margin-bottom:8px;
        color:#00f6ff;
        font-weight:1000;
        letter-spacing:.08em;
        text-transform:uppercase;
      }

      .dc-screen-roll-note{
        margin:0 0 12px;
        color:rgba(234,255,255,.78);
        line-height:1.42;
      }

      .dc-screen-roll-btn{
        width:100%;
        border:1px solid rgba(255,47,138,.88);
        border-radius:16px;
        padding:15px 18px;
        background:linear-gradient(135deg, rgba(0,246,255,.18), rgba(255,47,138,.22));
        color:#fff;
        font-weight:1000;
        letter-spacing:.10em;
        text-transform:uppercase;
        cursor:pointer;
        box-shadow:0 0 24px rgba(255,47,138,.22), inset 0 0 16px rgba(0,246,255,.08);
      }

      .dc-screen-roll-btn:hover{ filter:brightness(1.16); }
      .dc-screen-roll-btn:disabled{ opacity:.65; cursor:wait; }

      .dc-screen-roll-result{
        margin-top:12px;
        padding:12px;
        border-radius:14px;
        border:1px solid rgba(255,255,255,.09);
        background:rgba(0,0,0,.30);
        color:#eaffff;
      }

      #dcScreenDiceLayer{
        position:fixed;
        inset:0;
        z-index:1950;
        pointer-events:none;
        overflow:hidden;
        background:transparent;
      }

      #dcScreenDiceLayer.dc-dice-fade{
        opacity:0;
        transition:opacity .8s ease;
      }

      #dcScreenDiceBox{
        position:fixed;
        left:0;
        top:0;
        width:100vw;
        height:100vh;
        min-width:100vw;
        min-height:100vh;
        display:block;
        opacity:1;
        visibility:visible;
        background:transparent;
      }

      #dcScreenDiceBox canvas,
      #dcScreenDiceLayer canvas{
        pointer-events:none;
        position:fixed;
        left:0;
        top:0;
        width:100vw;
        height:100vh;
        min-width:100vw;
        min-height:100vh;
        display:block;
        opacity:1;
        visibility:visible;
        background:transparent;
      }

      .dc-screen-css-dice{
        position:absolute;
        inset:0;
        pointer-events:none;
        overflow:hidden;
      }

      .dc-screen-die{
        position:absolute;
        width:118px;
        height:118px;
        left:50%;
        top:50%;
        margin-left:-59px;
        margin-top:-59px;
        transform-style:preserve-3d;
        filter:drop-shadow(0 0 22px rgba(0,246,255,.55));
        will-change:transform;
      }

      .dc-screen-die.d4{
        width:104px;
        height:104px;
        margin-left:-52px;
        margin-top:-52px;
      }

      .dc-screen-die-core{
        position:absolute;
        inset:0;
        display:flex;
        align-items:center;
        justify-content:center;
        border:1px solid rgba(0,246,255,.8);
        background:
          linear-gradient(145deg, rgba(0,246,255,.38), rgba(255,47,138,.22)),
          radial-gradient(circle at 34% 28%, rgba(255,255,255,.38), transparent 24%);
        box-shadow:inset 0 0 24px rgba(0,246,255,.18), 0 0 26px rgba(0,246,255,.24);
        font-size:2.7rem;
        font-weight:1000;
        color:#eaffff;
        text-shadow:0 0 16px rgba(0,246,255,.9);
        backface-visibility:visible;
      }

      .d20 .dc-screen-die-core{
        clip-path:polygon(50% 0%, 90% 18%, 100% 60%, 72% 100%, 28% 100%, 0% 60%, 10% 18%);
        border-radius:26% 35% 28% 36%;
      }

      .d4 .dc-screen-die-core{
        clip-path:polygon(50% 0%, 100% 92%, 0% 92%);
        border-radius:14px;
        padding-top:14px;
        font-size:2.35rem;
      }

      .dc-screen-die.d20{ animation: dcScreenD20 1.85s cubic-bezier(.14,.75,.24,1) forwards; }
      .dc-screen-die.d4{ animation: dcScreenD4 1.85s cubic-bezier(.14,.75,.24,1) forwards; }

      @keyframes dcScreenD20{
        0%{ transform:translate3d(-42vw,-28vh,0) rotateX(0deg) rotateY(0deg) rotateZ(0deg) scale(.86); }
        18%{ transform:translate3d(-25vw,24vh,120px) rotateX(260deg) rotateY(310deg) rotateZ(140deg) scale(1.08); }
        39%{ transform:translate3d(8vw,-20vh,70px) rotateX(620deg) rotateY(580deg) rotateZ(300deg) scale(.98); }
        66%{ transform:translate3d(34vw,18vh,100px) rotateX(940deg) rotateY(860deg) rotateZ(520deg) scale(1.03); }
        100%{ transform:translate3d(-9vw,2vh,0) rotateX(1080deg) rotateY(900deg) rotateZ(720deg) scale(1); }
      }

      @keyframes dcScreenD4{
        0%{ transform:translate3d(42vw,28vh,0) rotateX(0deg) rotateY(0deg) rotateZ(0deg) scale(.82); }
        20%{ transform:translate3d(26vw,-23vh,110px) rotateX(280deg) rotateY(220deg) rotateZ(190deg) scale(1.07); }
        44%{ transform:translate3d(-8vw,21vh,65px) rotateX(580deg) rotateY(540deg) rotateZ(310deg) scale(.96); }
        70%{ transform:translate3d(-32vw,-16vh,100px) rotateX(880deg) rotateY(820deg) rotateZ(540deg) scale(1.02); }
        100%{ transform:translate3d(9vw,3vh,0) rotateX(900deg) rotateY(1080deg) rotateZ(720deg) scale(1); }
      }

      @media(max-width:820px){
        .dc-screen-roll-card{ margin-left:0; }
        .dc-screen-die{ width:92px; height:92px; margin-left:-46px; margin-top:-46px; }
        .dc-screen-die.d4{ width:82px; height:82px; margin-left:-41px; margin-top:-41px; }
        .dc-screen-die-core{ font-size:2.1rem; }
      }

/* dcRollExplainStyles */
.dc-screen-roll-explain{
        margin:8px 0 10px;
        padding:9px 10px;
        border:1px solid rgba(0,246,255,.28);
        border-radius:10px;
        background:rgba(0,246,255,.045);
        color:#dffcff;
        font-size:.86rem;
        line-height:1.35;
      }
      .dc-screen-roll-explain b{color:#fff}
      .dc-screen-roll-explain .k{color:#00f6ff;font-family:'Share Tech Mono',monospace;text-transform:uppercase;font-weight:900;letter-spacing:.05em}
      .dc-screen-roll-explain .m{opacity:.88;margin-top:4px}

/* dc-screen-dice-v4-skill-die-real-style */
.dc-screen-v4-skilldie{
          position:fixed;
          left:50%;
          top:50%;
          transform:translate(-50%,-50%);
          width:92px;
          height:116px;
          z-index:1950;
          display:flex;
          flex-direction:column;
          align-items:center;
          justify-content:center;
          pointer-events:none;
          animation:dc-screen-v4-skilldie-roll 1.7s cubic-bezier(.2,.8,.18,1) both;
          filter:drop-shadow(0 0 22px rgba(255,0,255,.55));
        }

        .dc-screen-v4-skilldie-core{
          width:76px;
          height:76px;
          border-radius:18px;
          display:flex;
          align-items:center;
          justify-content:center;
          border:1px solid rgba(255,0,255,.9);
          background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.22),rgba(80,8,112,.92) 45%,rgba(18,4,32,.96));
          box-shadow:0 0 24px rgba(255,0,255,.45), inset 0 0 18px rgba(255,255,255,.12);
          color:#fff;
          font-size:28px;
          line-height:1;
          font-weight:900;
          text-shadow:0 0 12px rgba(255,0,255,.9);
        }

        .dc-screen-v4-skilldie-label{
          margin-top:8px;
          max-width:150px;
          text-align:center;
          font-size:10px;
          line-height:1.15;
          letter-spacing:.08em;
          text-transform:uppercase;
          color:#ffd6ff;
          text-shadow:0 0 10px rgba(255,0,255,.7);
        }

        @keyframes dc-screen-v4-skilldie-roll{
          0%{ transform:translate(-50%,-50%) rotate(-28deg) scale(.7); opacity:0; }
          12%{ opacity:1; }
          48%{ transform:translate(-50%,-50%) rotate(760deg) scale(1.22); }
          72%{ transform:translate(-50%,-50%) rotate(1010deg) scale(.96); }
          100%{ transform:translate(-50%,-50%) rotate(1080deg) scale(1); opacity:1; }
        }

/* dcDiceEscapeFixStyle */
#dcDiceEmergencyClose{
          position:fixed;
          top:18px;
          right:18px;
          z-index:2000;
          padding:14px 18px;
          border:1px solid #00f6ff;
          border-radius:14px;
          background:rgba(0,10,18,.94);
          color:#eaffff;
          font-weight:900;
          letter-spacing:.08em;
          box-shadow:0 0 22px rgba(0,246,255,.45);
          cursor:pointer;
        }
        #dcDiceEmergencyClose:hover{ filter:brightness(1.25); }
        .dc-dice-overlay.open{ z-index:1900; }
        .dc-dice-overlay:not(.open) #dcDiceEmergencyClose{ display:none; }


/* DC_FINAL_GDRPRO_SOURCE_MIGRATION_20260911 */
/* dcGdrProWaitingStyle */
.dc-gdrpro-roll-waiting {
        animation: dcRollPulse 1.2s infinite alternate;
        border: 1px solid #ff2f8a;
        box-shadow: 0 0 20px #ff2f8a, inset 0 0 10px #ff2f8a;
        background: linear-gradient(135deg, #ff2f8a, #00f6ff);
        color: #fff;
      }
      @keyframes dcRollPulse {
        0% { filter: brightness(0.9); transform: scale(1); }
        100% { filter: brightness(1.25); transform: scale(1.03); }
      }

/* dc-existing-dice-renderer-skill-die-style-v1 */
.dc-clean-skill-die{
          display:flex;
          flex-direction:column;
          align-items:center;
          justify-content:center;
          width:96px;
          min-width:96px;
          height:112px;
          min-height:112px;
          margin:0 14px;
          position:relative;
          z-index:20;
          visibility:visible;
          opacity:1;
          pointer-events:none;
        }

        .dc-clean-skill-die-core{
          display:flex;
          align-items:center;
          justify-content:center;
          width:72px;
          height:72px;
          border-radius:18px;
          border:1px solid rgba(255,0,255,.9);
          background:rgba(20,5,32,.92);
          box-shadow:0 0 22px rgba(255,0,255,.48), inset 0 0 16px rgba(255,0,255,.14);
          color:#fff;
          font-size:26px;
          font-weight:900;
          line-height:1;
          text-shadow:0 0 10px rgba(255,0,255,.9);
        }

        .dc-clean-skill-die-label{
          display:block;
          margin-top:8px;
          max-width:128px;
          text-align:center;
          white-space:normal;
          overflow:visible;
          font-size:10px;
          line-height:1.15;
          letter-spacing:.06em;
          text-transform:uppercase;
          color:#ffd6ff;
        }

        .dc-gdrpro-roll-card .dc-gdrpro-dice-track{
          display:flex;
          align-items:center;
          justify-content:center;
          gap:16px;
          overflow:visible;
          min-height:130px;
        }

        .dc-gdrpro-roll-card .dc-gdrpro-dice-arena.dc-open{
          display:block;
          visibility:visible;
          opacity:1;
          overflow:visible;
          min-height:145px;
        }


/* DC_FINAL_GDRPRO_REDUCED_MOTION_20260911 */
@media (prefers-reduced-motion: reduce){
  .dc-gdrpro-roll-waiting{ animation-duration:.001ms; animation-iteration-count:1; }
}
