/* DATA COURIERS 20XX — VNEXT PRIVATE AUTHENTICATED RUNTIME AUTHORITY */

/* migrated from rpg_roleplay_ui.js */

      .dc-roleplay-v2{
        margin:10px 12px 14px;
        border:1px solid rgba(0,255,208,.40);
        border-radius:14px;
        background:
          linear-gradient(135deg,rgba(0,255,208,.10),rgba(255,47,138,.055));
        box-shadow:0 8px 28px rgba(0,0,0,.20);
        overflow:hidden;
        color:#dffcff;
        font-family:inherit;
      }

      .dc-roleplay-v2-main{
        display:grid;
        grid-template-columns:auto 1fr auto;
        gap:14px;
        align-items:center;
        padding:12px 14px;
      }

      .dc-roleplay-v2-score{
        min-width:78px;
        text-align:center;
      }

      .dc-roleplay-v2-score strong{
        display:block;
        color:#00ffd0;
        font-size:1.55rem;
        line-height:1;
        letter-spacing:-.03em;
      }

      .dc-roleplay-v2-score small{
        display:block;
        margin-top:4px;
        color:#86aeb9;
        font-size:.68rem;
        letter-spacing:.10em;
        text-transform:uppercase;
      }

      .dc-roleplay-v2-verdict{
        min-width:0;
      }

      .dc-roleplay-v2-verdict strong{
        display:block;
        color:#eaffff;
        font-size:.82rem;
        letter-spacing:.10em;
      }

      .dc-roleplay-v2-feedback{
        margin-top:4px;
        color:#9ebcc5;
        font-size:.76rem;
        line-height:1.35;
      }

      .dc-roleplay-v2-xp{
        white-space:nowrap;
        color:#00ffd0;
        font-size:1.05rem;
        font-weight:900;
      }

      .dc-roleplay-v2 details{
        border-top:1px solid rgba(255,255,255,.07);
      }

      .dc-roleplay-v2 summary{
        cursor:pointer;
        user-select:none;
        padding:9px 14px;
        color:#90abb5;
        font-size:.70rem;
        font-weight:800;
        letter-spacing:.09em;
        text-transform:uppercase;
        list-style:none;
      }

      .dc-roleplay-v2 summary::-webkit-details-marker{
        display:none;
      }

      .dc-roleplay-v2 summary::after{
        content:" +";
        color:#00ffd0;
      }

      .dc-roleplay-v2 details[open] summary::after{
        content:" −";
      }

      .dc-roleplay-v2-dimensions{
        padding:2px 14px 13px;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px 16px;
      }

      .dc-roleplay-v2-dimension{
        display:grid;
        grid-template-columns:minmax(110px,1fr) 2fr 34px;
        gap:8px;
        align-items:center;
        font-size:.72rem;
        color:#b8d0d6;
      }

      .dc-roleplay-v2-bar{
        height:5px;
        background:rgba(255,255,255,.08);
        border-radius:99px;
        overflow:hidden;
      }

      .dc-roleplay-v2-bar > i{
        display:block;
        height:100%;
        background:linear-gradient(90deg,#00ffd0,#78fff0);
        border-radius:99px;
      }

      .dc-roleplay-v2-value{
        text-align:right;
        color:#eaffff;
        font-family:monospace;
      }

      @media(max-width:820px){
        .dc-roleplay-v2{
          margin:8px 4px 11px;
          border-radius:12px;
        }

        .dc-roleplay-v2-main{
          grid-template-columns:62px 1fr auto;
          gap:9px;
          padding:10px;
        }

        .dc-roleplay-v2-score{
          min-width:0;
        }

        .dc-roleplay-v2-score strong{
          font-size:1.28rem;
        }

        .dc-roleplay-v2-verdict strong{
          font-size:.72rem;
          letter-spacing:.06em;
        }

        .dc-roleplay-v2-feedback{
          font-size:.69rem;
          display:-webkit-box;
          -webkit-line-clamp:2;
          -webkit-box-orient:vertical;
          overflow:hidden;
        }

        .dc-roleplay-v2-xp{
          font-size:.92rem;
        }

        .dc-roleplay-v2-dimensions{
          grid-template-columns:1fr;
          gap:7px;
          padding:2px 10px 11px;
        }

        .dc-roleplay-v2-dimension{
          grid-template-columns:108px 1fr 30px;
          font-size:.68rem;
        }

        .dc-roleplay-v2 summary{
          padding:8px 10px;
          font-size:.66rem;
        }
      }

      @media(max-width:480px){
        .dc-roleplay-v2-main{
          grid-template-columns:58px minmax(0,1fr) auto;
        }

        .dc-roleplay-v2-xp{
          font-size:.84rem;
        }
      }
    

/* migrated from dc_character_sheet_paper_v1.js */

      .dcp-reputation-v2{position:relative}.dcp-reputation-v2 small{display:block;grid-column:1/-1;color:#7fdde4;font-size:9px;letter-spacing:.08em;margin-top:5px}
      .dcp-identity-graph{margin:16px 0;display:grid;gap:14px;border:1px solid rgba(0,246,255,.25);padding:16px;background:linear-gradient(135deg,rgba(0,246,255,.06),rgba(255,47,138,.05));}
      .dcp-identity-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid rgba(0,246,255,.18);padding-bottom:11px}
      .dcp-identity-head h3{margin:0;color:#00f6ff;letter-spacing:.12em}.dcp-identity-head strong{color:#ffcc66}.dcp-identity-head small{color:#9bb8c0}
      .dcp-badges{display:flex;gap:7px;flex-wrap:wrap}.dcp-badge{border:1px solid rgba(0,246,255,.24);padding:7px 10px;background:rgba(0,246,255,.04);color:#d9fbff;font-size:10px;letter-spacing:.07em;cursor:pointer}.dcp-badge.active{border-color:#ffc857;box-shadow:0 0 16px rgba(255,200,87,.2);color:#ffc857}.dcp-badge.locked{opacity:.42;cursor:not-allowed;border-style:dashed}
      .dcp-echo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dcp-echo-card{border:1px solid rgba(255,47,138,.18);padding:11px;background:rgba(3,8,14,.55)}.dcp-echo-card[data-stage="signature"],.dcp-echo-card[data-stage="legend"]{border-color:rgba(255,200,87,.48)}.dcp-echo-card b{color:#fff;display:block}.dcp-echo-stage{color:#00f6ff;font-size:9px;letter-spacing:.14em}.dcp-echo-card p{font-size:10px;line-height:1.45;margin:6px 0;color:#b9ced5}.dcp-echo-shadow{color:#ff8fb8}.dcp-wanted-mini{display:flex;gap:6px;flex-wrap:wrap}.dcp-wanted-mini span{border:1px solid rgba(255,73,116,.35);padding:5px 8px;color:#ff9cb5;font-size:9px}

      /* DC_CHARACTER_SHEET_MODERN_SYSTEMS_V2 */
      .dcp-modern-systems{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;margin:14px 0}.dcp-modern-card{grid-column:span 6;border:1px solid rgba(0,246,255,.22);padding:14px;background:linear-gradient(145deg,rgba(0,12,18,.78),rgba(15,4,18,.72))}.dcp-modern-span{grid-column:1/-1}.dcp-modern-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:10px}.dcp-modern-head h3{margin:0;color:#00f6ff;letter-spacing:.11em}.dcp-modern-head small{color:#7ea7b0;font-size:9px;letter-spacing:.08em}.dcp-progress-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.dcp-progress-summary>div{border:1px solid rgba(0,246,255,.14);padding:9px;background:rgba(0,0,0,.2)}.dcp-progress-summary small{display:block;color:#6f9fa9;font-size:8px;letter-spacing:.08em}.dcp-progress-summary b{display:block;margin-top:4px;color:#fff;font-size:13px}.dcp-talent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dcp-talent-card{border:1px solid rgba(0,246,255,.16);padding:10px;background:rgba(0,0,0,.22)}.dcp-talent-card.unlocked{border-color:rgba(255,200,87,.5);background:rgba(255,200,87,.05)}.dcp-talent-card.locked{opacity:.48}.dcp-talent-card small{color:#7fb4c0;font-size:8px}.dcp-talent-card b{display:block;color:#fff;margin:4px 0}.dcp-talent-card p{margin:4px 0;color:#b9ced5;font-size:10px;line-height:1.35}.dcp-talent-card span{display:block;margin-top:6px;color:#ffc857;font-size:8px;font-weight:900;letter-spacing:.07em}.dcp-world-ladder{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-bottom:10px}.dcp-world-phase{position:relative;text-align:center;padding:8px 4px;border:1px solid rgba(126,211,227,.16);color:#607b82;font-size:9px}.dcp-world-phase small{display:block;font-size:7px}.dcp-world-phase.reached{color:#8cdce8;border-color:rgba(126,211,227,.4)}.dcp-world-phase.current{color:#eaff9c;border-color:#d6f36a}.dcp-world-phase.here:after{content:"QUI";position:absolute;right:2px;top:2px;color:#ff8fb8;font-size:6px}.dcp-modern-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dcp-modern-two h4{margin:0 0 8px;color:#9ed5df;font-size:10px}.dcp-world-channel{display:grid;grid-template-columns:130px 1fr 28px;gap:6px;align-items:center;margin:5px 0;font-size:9px;color:#9ab8c0}.dcp-world-channel i{height:5px;background:#15323a;overflow:hidden}.dcp-world-channel i b{display:block;height:100%;background:#70cbd9}.dcp-world-channel.best{color:#d6f36a}.dcp-world-channel.best i b{background:#d6f36a}.dcp-access-asset{display:grid;gap:3px;border:1px solid rgba(255,200,87,.3);padding:8px;margin-bottom:6px}.dcp-access-asset b{color:#ffe4a6}.dcp-access-asset span{color:#a9bcc0;font-size:8px}.dcp-world-flags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.dcp-world-flags span{border:1px solid rgba(0,246,255,.18);padding:5px 7px;font-size:8px;color:#9ed5df}.dcp-world-flags .warn{border-color:rgba(255,90,165,.35);color:#ffb3d2}.dcp-modern-muted{color:#718e95;font-size:10px}
      @media(max-width:900px){.dcp-progress-summary{grid-template-columns:repeat(2,1fr)}.dcp-talent-grid{grid-template-columns:1fr 1fr}.dcp-modern-two{grid-template-columns:1fr}}@media(max-width:620px){.dcp-talent-grid,.dcp-progress-summary{grid-template-columns:1fr}.dcp-world-ladder{grid-template-columns:repeat(3,1fr)}}
      @media(max-width:720px){.dcp-echo-grid{grid-template-columns:1fr}.dcp-identity-head{display:grid}}
    

/* migrated from dc_character_sheet_paper_v1.js */

      #dcPaperSheetOverlay{
        position:fixed;
        inset:0;
        z-index:1950;
        display:none;
        align-items:center;
        justify-content:center;
        padding:24px;
        background:
          radial-gradient(circle at 20% 0%,rgba(31,215,255,.12),transparent 35%),
          radial-gradient(circle at 90% 80%,rgba(255,46,190,.10),transparent 35%),
          rgba(0,5,10,.94);
        backdrop-filter:blur(12px);
      }

      #dcPaperSheetOverlay.open{
        display:flex;
      }

      .dcp-sheet{
        width:min(1540px,97vw);
        max-height:94vh;
        overflow:auto;
        position:relative;
        border:1px solid rgba(104,235,255,.55);
        border-radius:16px;
        background:
          linear-gradient(rgba(7,16,21,.97),rgba(5,11,16,.99)),
          repeating-linear-gradient(
            0deg,
            transparent,
            transparent 3px,
            rgba(255,255,255,.012) 4px
          );
        box-shadow:
          0 0 0 1px rgba(255,41,180,.18),
          0 0 55px rgba(0,218,255,.17);
        color:#d8f7ff;
        font-family:Inter,Segoe UI,Arial,sans-serif;
      }

      .dcp-sheet *{
        box-sizing:border-box;
      }

      .dcp-toolbar{
        position:sticky;
        top:0;
        z-index:20;
        display:flex;
        justify-content:flex-end;
        gap:8px;
        padding:9px 14px;
        background:rgba(3,10,14,.93);
        border-bottom:1px solid rgba(90,224,255,.25);
        backdrop-filter:blur(10px);
      }

      .dcp-toolbar button{
        border:1px solid rgba(77,226,255,.5);
        border-radius:8px;
        padding:8px 14px;
        background:rgba(30,176,202,.10);
        color:#6deaff;
        font-weight:900;
        letter-spacing:.08em;
        cursor:pointer;
      }

      .dcp-toolbar button:last-child{
        border-color:rgba(255,66,184,.6);
        color:#ff73c8;
      }

      .dcp-content{
        padding:18px;
      }

      .dcp-header{
        display:grid;
        grid-template-columns:1fr auto 240px;
        align-items:center;
        gap:18px;
        padding:18px 22px;
        margin-bottom:12px;
        border:1px solid rgba(85,223,255,.3);
        border-radius:12px;
        background:rgba(3,12,17,.74);
      }

      .dcp-logo strong{
        display:block;
        font-size:clamp(26px,3vw,48px);
        line-height:.95;
        letter-spacing:.07em;
        color:#dffaff;
        text-shadow:0 0 18px rgba(67,220,255,.58);
      }

      .dcp-logo b{
        display:block;
        font-size:clamp(28px,3.2vw,52px);
        color:#ff52be;
        text-shadow:0 0 18px rgba(255,40,179,.42);
      }

      .dcp-document-title{
        text-align:center;
        font-weight:900;
        letter-spacing:.2em;
        color:#67e8ff;
      }

      .dcp-clearance{
        border:1px solid rgba(255,74,188,.65);
        border-radius:8px;
        padding:12px;
        color:#ff71c8;
        text-align:center;
        font-weight:900;
        letter-spacing:.12em;
      }

      .dcp-identity{
        display:grid;
        grid-template-columns:190px 1.3fr 1fr;
        gap:12px;
        margin-bottom:12px;
      }

      .dcp-avatar{
        min-height:285px;
        border:1px solid rgba(255,64,185,.5);
        border-radius:12px;
        background:
          linear-gradient(
            145deg,
            rgba(255,47,177,.16),
            rgba(41,206,239,.10)
          );
        background-size:cover;
        background-position:center top;
        box-shadow:inset 0 0 30px rgba(0,0,0,.55);
      }

      .dcp-fields,
      .dcp-card{
        border:1px solid rgba(81,222,255,.28);
        border-radius:12px;
        background:rgba(2,10,14,.66);
        padding:12px;
      }

      .dcp-fields{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px 12px;
      }

      .dcp-field{
        min-height:55px;
        padding:6px 4px 8px;
        border-bottom:1px solid rgba(150,219,231,.22);
      }

      .dcp-field.dcp-wide{
        grid-column:1/-1;
      }

      .dcp-field span,
      .dcp-reputation>span{
        display:block;
        margin-bottom:5px;
        color:#5cdff5;
        font-size:11px;
        font-weight:900;
        letter-spacing:.14em;
      }

      .dcp-field b{
        font-size:15px;
        color:#effcff;
      }

      .dcp-reputation{
        grid-column:1/-1;
        padding:8px 4px;
      }

      .dcp-reputation>div{
        display:flex;
        gap:6px;
        align-items:center;
      }

      .dcp-reputation i{
        width:18px;
        height:9px;
        border:1px solid rgba(91,222,246,.55);
        border-radius:2px;
      }

      .dcp-reputation i.on{
        background:#ff4eba;
        border-color:#ff4eba;
        box-shadow:0 0 8px rgba(255,63,181,.65);
      }

      .dcp-reputation b{
        display:block;
        margin-top:6px;
        color:#ff76cb;
      }

      .dcp-section-grid{
        display:grid;
        grid-template-columns:repeat(12,1fr);
        gap:12px;
        margin-bottom:12px;
      }

      .dcp-card{
        grid-column:span 4;
        min-height:125px;
      }

      .dcp-card.span-6{
        grid-column:span 6;
      }

      .dcp-card.span-8{
        grid-column:span 8;
      }

      .dcp-card.span-12{
        grid-column:1/-1;
      }

      .dcp-card h3{
        margin:0 0 10px;
        padding-bottom:7px;
        border-bottom:1px solid rgba(76,219,245,.24);
        color:#5de7ff;
        font-size:13px;
        letter-spacing:.13em;
      }

      .dcp-card h4{
        margin:5px 0 10px;
        color:#ff68c2;
        font-size:11px;
        letter-spacing:.12em;
      }

      .dcp-card p{
        margin:0;
        color:#ccecf3;
        line-height:1.55;
        white-space:pre-wrap;
      }

      .dcp-stats{
        display:grid;
        grid-template-columns:150px repeat(5,1fr);
        gap:10px;
        align-items:center;
        padding:12px;
        margin-bottom:12px;
        border:1px solid rgba(78,222,250,.3);
        border-radius:12px;
        background:rgba(2,10,14,.7);
      }

      .dcp-stats h3{
        margin:0;
        color:#62e8ff;
        letter-spacing:.12em;
      }

      .dcp-stat{
        min-height:94px;
        position:relative;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        border:1px solid rgba(79,226,252,.45);
        border-radius:10px;
        background:
          linear-gradient(
            145deg,
            rgba(25,174,202,.09),
            rgba(255,51,179,.06)
          );
      }

      .dcp-stat span{
        color:#65e8ff;
        font-size:12px;
        font-weight:900;
        letter-spacing:.12em;
      }

      .dcp-stat b{
        font-size:34px;
        color:#fff;
      }

      .dcp-stat i{
        width:35%;
        height:3px;
        background:#ff4fba;
        box-shadow:0 0 8px rgba(255,54,180,.65);
      }

      .dcp-two-column{
        display:grid;
        grid-template-columns:1.25fr .9fr;
        gap:12px;
        margin-bottom:12px;
      }

      .dcp-skill-list{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:6px 16px;
        margin:0;
        padding:0;
        list-style:none;
      }

      .dcp-skill-list li{
        display:flex;
        justify-content:space-between;
        gap:10px;
        padding:6px 4px;
        border-bottom:1px solid rgba(143,212,224,.18);
      }

      .dcp-skill-list b{
        color:#ff6bc6;
      }

      .dcp-condition-grid{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:16px;
      }

      .dcp-check,
      .dcp-stress{
        display:flex;
        align-items:center;
        gap:8px;
        margin:7px 0;
      }

      .dcp-check i,
      .dcp-stress i{
        width:14px;
        height:14px;
        border:1px solid rgba(90,225,250,.65);
        border-radius:3px;
      }

      .dcp-check.active i,
      .dcp-stress.active i{
        background:#ff4eb9;
        border-color:#ff4eb9;
        box-shadow:0 0 9px rgba(255,62,180,.62);
      }

      .dcp-stress-row{
        display:flex;
        gap:16px;
      }

      .dcp-data-slots{
        margin:0;
        padding:0;
        list-style:none;
      }

      .dcp-data-slots li{
        display:flex;
        justify-content:space-between;
        padding:8px 4px;
        border-bottom:1px solid rgba(142,214,226,.18);
      }

      .dcp-data-slots li.used b{
        color:#ff65c3;
      }

      .dcp-item,
      .dcp-contact,
      .dcp-faction{
        margin-bottom:8px;
        padding:9px;
        border:1px solid rgba(90,219,241,.18);
        border-radius:8px;
        background:rgba(16,36,43,.25);
      }

      .dcp-item header,
      .dcp-item footer{
        display:flex;
        justify-content:space-between;
        flex-wrap:wrap;
        gap:8px;
      }

      .dcp-item header b,
      .dcp-contact b,
      .dcp-faction b{
        color:#effcff;
      }

      .dcp-item header span,
      .dcp-contact span,
      .dcp-faction span{
        color:#ff6ec7;
        font-size:11px;
        font-weight:900;
      }

      .dcp-item p,
      .dcp-contact p{
        margin:7px 0;
        font-size:13px;
      }

      .dcp-item footer{
        color:#68deef;
        font-size:11px;
      }

      .dcp-empty{
        color:#78949b;
        font-style:italic;
      }

      .dcp-roll-list{
        margin:0;
        padding-left:22px;
      }

      .dcp-roll-list li{
        display:grid;
        grid-template-columns:1fr auto auto;
        gap:12px;
        padding:7px 0;
        border-bottom:1px solid rgba(142,214,226,.18);
      }

      .dcp-roll-list span{
        color:#68e3f8;
      }

      .dcp-roll-list em{
        color:#ff6cc6;
      }

        /* DC_CHARACTER_SHEET_SCROLL_LISTS_V1 */
        .dcp-list-scroll{
          overflow-y:auto;
          overflow-x:hidden;
          overscroll-behavior:contain;
          scrollbar-gutter:stable;
          padding-right:7px;
          scrollbar-width:thin;
          scrollbar-color:#46d9ed rgba(8,28,33,.65);
        }

        .dcp-scroll-cards{
          max-height:384px;
        }

        .dcp-scroll-skills{
          max-height:76px;
        }

        .dcp-scroll-slots{
          max-height:144px;
        }

        .dcp-scroll-rolls{
          max-height:176px;
        }

        .dcp-list-scroll::-webkit-scrollbar{
          width:7px;
        }

        .dcp-list-scroll::-webkit-scrollbar-track{
          background:rgba(8,28,33,.65);
          border-radius:8px;
        }

        .dcp-list-scroll::-webkit-scrollbar-thumb{
          background:#46d9ed;
          border-radius:8px;
        }


      body.dcp-sheet-open{
        overflow:hidden;
      }

      @media(max-width:1050px){
        .dcp-header,
        .dcp-identity,
        .dcp-two-column{
          grid-template-columns:1fr;
        }

        .dcp-avatar{
          min-height:320px;
        }

        .dcp-stats{
          grid-template-columns:repeat(5,1fr);
        }

        .dcp-stats h3{
          grid-column:1/-1;
        }

        .dcp-card,
        .dcp-card.span-6,
        .dcp-card.span-8{
          grid-column:span 6;
        }
      }

      @media(max-width:680px){
        #dcPaperSheetOverlay{
          padding:4px;
        }

        .dcp-content{
          padding:8px;
        }

        .dcp-fields,
        .dcp-skill-list,
        .dcp-condition-grid{
          grid-template-columns:1fr;
        }

        .dcp-stats{
          grid-template-columns:1fr 1fr;
        }

        .dcp-card,
        .dcp-card.span-6,
        .dcp-card.span-8{
          grid-column:1/-1;
        }

        .dcp-roll-list li{
          grid-template-columns:1fr;
        }
      }

      @media print{
        body>*:not(#dcPaperSheetOverlay){
          display:none;
        }

        #dcPaperSheetOverlay{
          display:block;
          position:static;
          padding:0;
          background:#fff;
        }

        .dcp-sheet{
          max-height:none;
          overflow:visible;
          box-shadow:none;
        }

        .dcp-toolbar{
          display:none;
        }
      }
    

/* migrated from dc_scene_gallery_masteria_v1.js */

      .dcsgm1-dots{display:inline-flex;gap:7px;align-items:center;margin:0 10px;z-index:1950;position:relative;pointer-events:auto}
      .dcsgm1-mode{display:inline-flex;align-items:center;margin:0 8px;padding:4px 7px;border:1px solid rgba(0,234,255,.32);color:#9feef5;background:rgba(4,18,24,.82);font:900 9px/1 ui-monospace,monospace;letter-spacing:.08em}
      .dcsgm1-dot{width:10px;height:10px;min-width:10px;min-height:10px;border-radius:999px;border:1px solid #00eaff;background:transparent;padding:0;margin:0;cursor:pointer;opacity:.6}
      .dcsgm1-dot.active{background:#00eaff;opacity:1;box-shadow:0 0 10px rgba(0,234,255,.95)}
      .dcsgm1-hide{display:none;visibility:hidden;pointer-events:none}
      .dcsgm1-change{opacity:.25;transform:scale(1.018);filter:blur(1px) saturate(1.15)}
      #dcsgm1-modal{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:1950;display:flex;align-items:center;justify-content:center;padding:18px}
      #dcsgm1-modal .inner{position:relative;width:min(1500px,96vw);max-height:94vh}
      #dcsgm1-modal img{width:100%;max-height:90vh;object-fit:contain;display:block;border:1px solid rgba(0,234,255,.65);border-radius:12px;background:#000}
      #dcsgm1-modal button{position:absolute;right:8px;top:8px;z-index:2;border:1px solid #ff4bd8;background:#21091d;color:#ff67e4;border-radius:999px;padding:7px 14px;font-weight:900;cursor:pointer}
    

/* migrated from dc_singleplayer_invite_v1.js */

      .dc-invite-overlay{
        position:fixed;inset:0;z-index:1950;
        display:none;align-items:center;justify-content:center;
        padding:20px;background:rgba(2,5,9,.82);
        backdrop-filter:blur(8px)
      }
      .dc-invite-overlay.open{display:flex}
      .dc-invite-modal{
        width:min(620px,96vw);max-height:92vh;overflow:auto;
        background:linear-gradient(180deg,#111923,#080d13);
        border:1px solid rgba(72,220,255,.35);
        box-shadow:0 30px 90px rgba(0,0,0,.7);
        padding:22px;color:#eafaff;
        font-family:inherit
      }
      .dc-invite-head{
        display:flex;align-items:flex-start;justify-content:space-between;
        gap:20px;margin-bottom:18px
      }
      .dc-invite-head small{
        display:block;color:#63dfff;letter-spacing:.13em;margin-bottom:4px
      }
      .dc-invite-head h2{margin:0;font-size:25px}
      .dc-invite-close{
        border:0;background:transparent;color:#fff;font-size:28px;
        cursor:pointer;padding:0 5px
      }
      .dc-invite-desc{opacity:.78;line-height:1.5;margin:0 0 18px}
      .dc-invite-types{
        display:grid;grid-template-columns:1fr 1fr;gap:12px
      }
      .dc-invite-types button,
      .dc-invite-result-actions button{
        min-height:54px;border:1px solid rgba(72,220,255,.4);
        background:#101a24;color:#ecfbff;font-weight:800;
        letter-spacing:.06em;cursor:pointer
      }
      .dc-invite-types button:hover,
      .dc-invite-result-actions button:hover{
        border-color:#63dfff;background:#142431
      }
      .dc-invite-types button:disabled{opacity:.45;cursor:wait}
      .dc-invite-result{
        display:none;margin-top:18px;padding:16px;
        border:1px solid rgba(72,220,255,.22);
        background:rgba(0,0,0,.25)
      }
      .dc-invite-result.show{display:block}
      .dc-invite-result label{
        display:block;font-size:11px;letter-spacing:.1em;
        color:#63dfff;margin-bottom:7px
      }
      .dc-invite-link{
        width:100%;box-sizing:border-box;padding:12px;
        border:1px solid rgba(255,255,255,.18);
        background:#05090d;color:#fff;font:12px monospace
      }
      .dc-invite-result-actions{
        display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px
      }
      .dc-invite-feedback{
        min-height:22px;margin-top:14px;font-size:13px;opacity:.9
      }
      .dc-invite-feedback.ok{color:#74ffc0}
      .dc-invite-feedback.error{color:#ff7777}
      .dc-invite-meta{
        margin-top:14px;font-size:12px;opacity:.65
      }
      @media(max-width:600px){
        .dc-invite-types,
        .dc-invite-result-actions{grid-template-columns:1fr}
        .dc-invite-modal{padding:17px}
      }
    

/* migrated from dc_singleplayer_invite_v1.js */

      @media (max-width:920px), (pointer:coarse) {
        .dc-invite-overlay {
          padding:10px;
          align-items:flex-start;
          overflow:auto;
        }

        .dc-invite-modal {
          width:100%;
          max-width:none;
          max-height:none;
          margin:8px 0 24px;
          padding:16px;
          box-sizing:border-box;
        }

        .dc-invite-types {
          grid-template-columns:1fr;
        }

        .dc-invite-types button,
        .dc-invite-result-actions button {
          min-height:58px;
          font-size:15px;
        }

        .dc-invite-link {
          font-size:14px;
        }

        #dcSingleplayerGuestExitV1 {
          left:10px;
          right:10px;
          bottom:10px;
          width:auto;
          min-height:48px;
        }

        #dcSingleplayerSpectatorV1 {
          padding:
            max(8px, env(safe-area-inset-top))
            8px
            max(12px, env(safe-area-inset-bottom))
            8px;
        }

        #dcSingleplayerSpectatorV1 .dc-sp-head {
          flex-direction:column;
          align-items:stretch;
          gap:10px;
          padding:12px;
        }

        #dcSingleplayerSpectatorV1 .dc-sp-leave {
          width:100%;
          min-height:48px;
        }

        #dcSingleplayerSpectatorV1 .dc-sp-message {
          padding:12px;
        }

        #dcSingleplayerSpectatorV1 .dc-sp-text {
          font-size:15px;
          line-height:1.55;
        }
      }
    

/* migrated from dc_singleplayer_invite_v1.js */

      #dcSingleplayerSpectatorV1{
        position:fixed;
        inset:0;
        z-index:1950;
        background:rgba(2,5,9,.97);
        color:#eafaff;
        overflow:auto;
        padding:18px;
        box-sizing:border-box;
        font-family:inherit
      }
      #dcSingleplayerSpectatorV1 .dc-sp-wrap{
        width:min(980px,100%);
        margin:0 auto
      }
      #dcSingleplayerSpectatorV1 .dc-sp-head{
        position:sticky;
        top:0;
        z-index:2;
        display:flex;
        justify-content:space-between;
        align-items:center;
        gap:16px;
        padding:14px;
        margin-bottom:14px;
        background:#08121b;
        border:1px solid rgba(99,223,255,.28)
      }
      #dcSingleplayerSpectatorV1 .dc-sp-title{
        font-size:20px;
        font-weight:900
      }
      #dcSingleplayerSpectatorV1 .dc-sp-meta{
        opacity:.72;
        margin-top:4px;
        font-size:12px
      }
      #dcSingleplayerSpectatorV1 .dc-sp-leave{
        border:1px solid rgba(99,223,255,.55);
        background:#111c26;
        color:#fff;
        padding:10px 14px;
        font-weight:800;
        cursor:pointer
      }
      #dcSingleplayerSpectatorV1 .dc-sp-feed{
        display:flex;
        flex-direction:column;
        gap:10px;
        padding-bottom:40px
      }
      #dcSingleplayerSpectatorV1 .dc-sp-message{
        padding:12px 14px;
        border:1px solid rgba(255,255,255,.12);
        background:rgba(255,255,255,.035)
      }
      #dcSingleplayerSpectatorV1 .dc-sp-role{
        display:block;
        color:#63dfff;
        font-size:11px;
        font-weight:900;
        letter-spacing:.08em;
        margin-bottom:6px
      }
      #dcSingleplayerSpectatorV1 .dc-sp-text{
        white-space:pre-wrap;
        line-height:1.48
      }
      #dcSingleplayerSpectatorV1 .dc-sp-status{
        margin:12px 0;
        opacity:.72
      }
      #dcSingleplayerSpectatorV1 .dc-sp-message-head{
        display:flex;
        align-items:center;
        gap:8px;
        margin-bottom:6px
      }
      #dcSingleplayerSpectatorV1 .dc-sp-message-head .dc-sp-role{
        margin:0;
        flex:1
      }
      #dcSingleplayerSpectatorV1 .dc-sp-tts{
        display:inline-grid;
        place-items:center;
        width:38px;
        height:34px;
        min-width:38px;
        border:1px solid #00dbe8;
        border-radius:8px;
        background:#00323b;
        color:#baffff;
        font-weight:900;
        cursor:pointer
      }
      #dcSingleplayerSpectatorV1 .dc-sp-tts.is-playing{
        border-color:#ff3c9d;
        color:#fff;
        box-shadow:0 0 12px #ff3c9d66
      }
      #dcSingleplayerSpectatorV1 .dc-sp-roll{
        margin-top:12px;
        padding:12px;
        border:1px solid rgba(0,246,255,.38);
        border-radius:10px;
        background:rgba(0,35,45,.72)
      }
      #dcSingleplayerSpectatorV1 .dc-sp-roll-head{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        color:#9af8ff;
        margin-bottom:7px
      }
      #dcSingleplayerSpectatorV1 .dc-sp-roll-head span{
        color:#ffe36e;
        font-size:11px;
        font-weight:900
      }
      #dcSingleplayerSpectatorV1 .dc-sp-roll-formula{
        font-size:13px;
        opacity:.9;
        margin-bottom:6px
      }
      #dcSingleplayerSpectatorV1 .dc-sp-roll-values{
        font:700 12px/1.5 ui-monospace,monospace;
        color:#d9fbff
      }
      #dcSingleplayerSpectatorV1 .dc-sp-roll-result{
        margin-top:7px;
        color:#fff;
        font-size:20px;
        font-weight:950
      }
      #dcSingleplayerSpectatorV1 .dc-sp-roll small{
        display:block;
        margin-top:5px;
        opacity:.72
      }
      #dcSpectatorDiceLayerV1{
        position:fixed;
        inset:0;
        z-index:1950;
        pointer-events:none;
        overflow:hidden;
        background:rgba(1,7,12,.08);
        transition:opacity .75s ease
      }
      #dcSpectatorDiceLayerV1.is-fading{
        opacity:0
      }
      #dcSpectatorDiceHostV1,
      #dcSpectatorDiceHostV1 canvas{
        position:fixed;
        inset:0;
        width:100vw;
        height:100vh;
        min-width:100vw;
        min-height:100vh;
        display:block;
        background:transparent
      }
      #dcSpectatorDiceLayerV1 .dc-sp-dice-result{
        position:fixed;
        left:50%;
        top:46%;
        transform:translate(-50%,-50%);
        z-index:1950;
        min-width:min(520px,calc(100vw - 28px));
        padding:16px 22px;
        border:2px solid #ff3c9d;
        border-radius:15px;
        background:rgba(5,21,31,.96);
        color:#fff;
        text-align:center;
        box-shadow:0 0 34px #ff3c9d77
      }
      #dcSpectatorDiceLayerV1 .dc-sp-dice-result strong{
        display:block;
        color:#00f6ff;
        font-size:clamp(22px,6vw,34px);
        margin-bottom:5px
      }
      #dcSpectatorDiceLayerV1 .dc-sp-dice-result span{
        font-size:clamp(13px,4vw,18px)
      }
      @media(max-width:620px){
        #dcSingleplayerSpectatorV1 .dc-sp-roll-head{
          align-items:flex-start;
          flex-direction:column
        }
        #dcSingleplayerSpectatorV1 .dc-sp-roll-result{
          font-size:18px
        }
        #dcSingleplayerSpectatorV1 .dc-sp-tts{
          width:46px;
          height:42px
        }
      }
    

/* Admin telemetry entry formerly inline in index.php */
.dc-ai-telemetry-admin-home-button{position:fixed;right:18px;bottom:18px;z-index:1950;padding:12px 15px;border:1px solid #00f6ff;border-radius:10px;background:#07131d;color:#00f6ff;text-decoration:none;font:800 11px system-ui;letter-spacing:.08em;box-shadow:0 8px 28px rgba(0,0,0,.45)}

/* migrated from private shell: dc-safe-entry-unblock-style */

  html.dc-safe-entry,
  html.dc-safe-entry body{
    overflow:auto;
  }

  html.dc-safe-entry body.modal-open,
  html.dc-safe-entry body.no-scroll,
  html.dc-safe-entry body.is-modal-open,
  html.dc-safe-entry body.loading,
  html.dc-safe-entry body.is-loading{
    overflow:auto;
    pointer-events:auto;
  }

  html.dc-safe-entry .modal-backdrop,
  html.dc-safe-entry .dc-modal-backdrop,
  html.dc-safe-entry .overlay-backdrop,
  html.dc-safe-entry .dc-overlay-lock,
  html.dc-safe-entry .intro-modal,
  html.dc-safe-entry .dc-intro-modal,
  html.dc-safe-entry [data-intro-modal],
  html.dc-safe-entry .dc-loading-modal,
  html.dc-safe-entry .account-loading-modal,
  html.dc-safe-entry .game-state-modal{
    display:none;
    pointer-events:none;
  }

