    .card_3 .card_img::before{
      background:
        radial-gradient(circle at 12% 92%, rgba(230,252,255,.88) 0 2px, rgba(230,252,255,0) 2.8px),
        radial-gradient(circle at 18% 84%, rgba(194,245,255,.82) 0 3px, rgba(194,245,255,0) 3.6px),
        radial-gradient(circle at 46% 94%, rgba(194,245,255,.7) 0 2.6px, rgba(194,245,255,0) 3.3px),
        radial-gradient(circle at 82% 24%, rgba(194,245,255,.7) 0 4px, rgba(194,245,255,0) 4.8px),
        radial-gradient(circle at 62% 12%, rgba(194,245,255,.62) 0 5px, rgba(194,245,255,0) 6px),
        radial-gradient(circle at 26% 34%, rgba(194,245,255,.52) 0 2.5px, rgba(194,245,255,0) 3.4px),
        radial-gradient(circle at 76% 74%, rgba(194,245,255,.48) 0 3px, rgba(194,245,255,0) 3.8px);
      filter:drop-shadow(0 0 8px rgba(131,221,255,.32));
      animation:card3BubbleRise 4.8s linear infinite;
      opacity:.88;
    }
    .card_3 .card_img::after{
      background:
        linear-gradient(118deg, rgba(255,255,255,0) 6%, rgba(236,252,255,.24) 24%, rgba(255,255,255,0) 46%),
        linear-gradient(118deg, rgba(255,255,255,0) 24%, rgba(173,232,255,.28) 54%, rgba(255,255,255,0) 84%),
        linear-gradient(115deg, rgba(255,255,255,0) 10%, rgba(205,246,255,.24) 34%, rgba(255,255,255,0) 58%),
        linear-gradient(115deg, rgba(255,255,255,0) 42%, rgba(176,233,255,.2) 68%, rgba(255,255,255,0) 92%),
        radial-gradient(circle at 72% 88%, rgba(222,250,255,.72) 0 3px, rgba(222,250,255,0) 3.8px),
        radial-gradient(circle at 38% 68%, rgba(222,250,255,.56) 0 4px, rgba(222,250,255,0) 4.8px),
        radial-gradient(circle at 14% 18%, rgba(222,250,255,.48) 0 2.5px, rgba(222,250,255,0) 3.3px);
      filter:drop-shadow(0 0 12px rgba(135,218,255,.34));
      animation:card3BubbleRiseAlt 5.6s linear infinite, card3CausticSweep 4.4s ease-in-out infinite, card3WaveSweep 4.8s ease-in-out infinite;
      opacity:1;
      mix-blend-mode:screen;
    }
    .card_3 .card_hover::before{
      content:"";
      position:absolute;
      inset:0;
      border-radius:10px;
      background:
        linear-gradient(180deg, rgba(170,232,255,.12), rgba(170,232,255,0) 24%, rgba(170,232,255,.08) 78%, rgba(170,232,255,0) 100%);
      box-shadow:inset 0 0 24px rgba(127,214,255,.08);
      pointer-events:none;
      opacity:.9;
    }
    @keyframes card3Aura{
      0%,100%{
        opacity:.68;
        transform:scale(.995);
      }
      50%{
        opacity:1;
        transform:scale(1.01);
      }
    }
    @keyframes card3SurfaceDrift{
      0%,100%{
        background-position:0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0;
      }
      50%{
        background-position:2px -3px, -2px 2px, 3px -2px, 0 0, 0 0, 0 0, 0 0;
      }
    }
    @keyframes card3RippleShift{
      0%,100%{
        opacity:.78;
        transform:scale(1);
      }
      50%{
        opacity:1;
        transform:scale(1.012);
      }
    }
    @keyframes card3BubbleRise{
      0%{
        transform:translateY(18px) translateX(0);
        opacity:0;
      }
      16%{
        opacity:.9;
      }
      100%{
        transform:translateY(-18px) translateX(4px);
        opacity:0;
      }
    }
    @keyframes card3BubbleRiseAlt{
      0%{
        transform:translateY(14px) translateX(0) scale(.96);
        opacity:0;
      }
      18%{
        opacity:.78;
      }
      100%{
        transform:translateY(-22px) translateX(-5px) scale(1.04);
        opacity:0;
      }
    }
    @keyframes card3CausticSweep{
      0%,100%{
        background-position:-48px -4px, -18px 8px, -40px 0, -10px 0, 72% 88%, 38% 68%, 14% 18%;
      }
      50%{
        background-position:16px -10px, 20px 2px, 18px -6px, 12px 8px, 74% 86%, 36% 70%, 16% 20%;
      }
    }
    @keyframes card3WaveSweep{
      0%,100%{
        transform:translateX(0) scale(1);
      }
      50%{
        transform:translateX(6px) scale(1.022);
      }
    }
    .card_8{
      position:relative;
      overflow:visible;
    }
    .card_8 .card_img,
    .card_8 .card_hover{
      position:relative;
      z-index:2;
    }
    .card_8 .card_hover{z-index:4;}
    .card8-chip{
      position:absolute;
      top:16px;
      right:10px;
      z-index:5;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:64px;
      height:24px;
      padding:0 10px;
      border-radius:999px;
      border:1px solid rgba(255,244,206,.82);
      background:linear-gradient(180deg, rgba(255,250,229,.5), rgba(255,224,140,.24));
      box-shadow:
        0 0 18px rgba(255,232,156,.2),
        0 0 30px rgba(93,221,255,.08);
      color:#fff5d3;
      font-size:11px;
      letter-spacing:1.5px;
      text-transform:uppercase;
      pointer-events:none;
      transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    }
    .card8-fixed-title{
      position:absolute;
      left:50%;
      bottom:22px;
      z-index:5;
      transform:translateX(-50%);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:84px;
      height:28px;
      padding:0 14px;
      border-radius:999px;
      border:1px solid rgba(255,239,193,.42);
      background:linear-gradient(180deg, rgba(20,32,46,.54), rgba(8,13,22,.64));
      box-shadow:
        0 8px 18px rgba(0,0,0,.16),
        inset 0 0 14px rgba(255,232,156,.08);
      color:#fff3cf;
      font-size:15px;
      letter-spacing:1px;
      text-shadow:0 0 10px rgba(255,232,156,.18);
      pointer-events:none;
      transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, color .25s ease;
    }
    .card8-aura{
      position:absolute;
      inset:5px;
      z-index:3;
      border-radius:10px;
      overflow:hidden;
      pointer-events:none;
    }
    .card8-aura::before{
      content:"";
      position:absolute;
      inset:0;
      border-radius:10px;
      border:1px solid rgba(255,233,164,.52);
      box-shadow:
        inset 0 0 28px rgba(114,231,255,.2),
        0 0 28px rgba(255,230,150,.22),
        0 0 42px rgba(98,226,255,.2);
      opacity:.34;
      animation:card8Pulse 2.6s ease-in-out 3.6s infinite;
    }
    .card8-aura::after{
      content:"";
      position:absolute;
      top:-14%;
      left:-60%;
      width:56%;
      height:120%;
      background:linear-gradient(180deg, rgba(255,255,255,0), rgba(194,247,255,.72), rgba(255,242,189,.42), rgba(255,255,255,0));
      opacity:0;
      transform:skewX(-18deg);
      filter:blur(1px);
      animation:card8Sweep 3.8s ease-in-out 4s infinite;
    }
    .card8-callout{
      position:absolute;
      top:84px;
      right:-222px;
      left:auto;
      z-index:6;
      min-width:196px;
      max-width:224px;
      padding:18px 16px 14px;
      border-radius:18px;
      border:1px solid rgba(154,235,255,.72);
      background:
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 24%),
        repeating-linear-gradient(180deg, rgba(124,232,255,.09) 0, rgba(124,232,255,.09) 1px, transparent 1px, transparent 6px),
        linear-gradient(160deg, rgba(8,24,44,.96), rgba(18,46,76,.95));
      box-shadow:
        0 18px 34px rgba(0,0,0,.24),
        0 0 28px rgba(93,221,255,.18),
        inset 0 0 18px rgba(120,230,255,.12);
      color:#effdff;
      font-size:13px;
      line-height:1.62;
      letter-spacing:.28px;
      opacity:0;
      transform:translate3d(-18px,0,0) scale(.92);
      pointer-events:none;
      transition:opacity .35s ease, transform .35s ease;
    }
    .card8-callout::before{
      content:"SYSTEM TIP";
      position:absolute;
      top:-11px;
      left:14px;
      display:inline-flex;
      align-items:center;
      height:22px;
      padding:0 10px;
      border-radius:999px;
      border:1px solid rgba(154,235,255,.72);
      background:linear-gradient(180deg, rgba(17,52,86,.98), rgba(8,30,52,.94));
      box-shadow:0 0 18px rgba(93,221,255,.16);
      color:#9fe8ff;
      font-size:11px;
      letter-spacing:1.4px;
      text-transform:uppercase;
    }
    @keyframes card8Pulse{
      0%,100%{opacity:.3;box-shadow:inset 0 0 20px rgba(114,231,255,.16),0 0 18px rgba(255,230,150,.16),0 0 28px rgba(98,226,255,.14);}
      50%{opacity:.9;box-shadow:inset 0 0 34px rgba(114,231,255,.34),0 0 34px rgba(255,230,150,.34),0 0 52px rgba(98,226,255,.28);}
    }
    @keyframes card8Sweep{
      0%,36%,100%{opacity:0;transform:translateX(0) skewX(-18deg);}
      44%{opacity:.28;}
      66%{opacity:.76;transform:translateX(308%) skewX(-18deg);}
      78%{opacity:0;}
    }
    .card_4,
    .card_5{
      position:relative;
      overflow:visible;
    }
    .card_4 .card_img,
    .card_4 .card_hover,
    .card_5 .card_img,
    .card_5 .card_hover{
      position:relative;
      z-index:2;
    }
    .card_4 .card_hover,
    .card_5 .card_hover{z-index:4;}
    .card_4::before,
    .card_5::before{
      content:"";
      position:absolute;
      inset:-8px -7px;
      border-radius:18px;
      opacity:.78;
      pointer-events:none;
      z-index:1;
    }
    .card_4::after,
    .card_5::after{
      content:"";
      position:absolute;
      inset:-4px;
      border-radius:16px;
      pointer-events:none;
      z-index:1;
    }
    .card_4::before{
      background:
        radial-gradient(circle at 18% 18%, rgba(150,228,255,.18), transparent 18%),
        linear-gradient(180deg, rgba(120,203,255,.18), rgba(39,88,152,.06));
      box-shadow:
        0 0 22px rgba(93,199,255,.18),
        0 0 40px rgba(54,117,201,.14);
      animation:card4HullGlow 3.4s ease-in-out infinite;
    }
    .card_4::after{
      border:1px solid rgba(154,219,255,.48);
      background:
        repeating-linear-gradient(180deg, rgba(166,224,255,.08) 0, rgba(166,224,255,.08) 1px, transparent 1px, transparent 7px),
        linear-gradient(180deg, rgba(171,226,255,.06), rgba(171,226,255,0) 38%, rgba(255,227,160,.05) 92%, rgba(255,227,160,0));
      box-shadow:
        0 0 16px rgba(109,203,255,.16),
        inset 0 0 18px rgba(144,216,255,.1);
      animation:card4FramePulse 1.7s steps(2,end) infinite;
    }
    .card_4 .card_img::before,
    .card_4 .card_img::after,
    .card_5 .card_img::before,
    .card_5 .card_img::after{
      content:"";
      position:absolute;
      inset:0;
      border-radius:10px;
      pointer-events:none;
    }
    .card_4 .card_img::before{
      background:
        radial-gradient(circle at 50% 112%, rgba(144,214,255,.24), rgba(144,214,255,0) 34%),
        linear-gradient(180deg, rgba(160,226,255,.12), rgba(160,226,255,0) 24%),
        repeating-linear-gradient(180deg, rgba(182,226,255,.08) 0, rgba(182,226,255,.08) 1px, transparent 1px, transparent 7px);
      background-size:auto, auto, auto;
      background-position:0 0, 0 0, 0 0;
      mix-blend-mode:screen;
      opacity:.9;
      animation:card4SeaChop 3.2s ease-in-out infinite;
    }
    .card_4 .card_img::after{
      background:
        radial-gradient(circle at 82% 20%, rgba(162,227,255,.2) 0 2px, transparent 2.8px),
        linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.08) 82%, rgba(255,255,255,0));
      background-size:auto, auto;
      background-position:82% 20%, 0 0;
      opacity:.82;
      animation:card4RadarPulse 3.2s ease-out infinite;
    }
    .card4-radar{
      position:absolute;
      inset:5px;
      z-index:3;
      border-radius:10px;
      overflow:hidden;
      pointer-events:none;
    }
    .card4-radar::before{
      content:"";
      position:absolute;
      right:1px;
      top:1px;
      width:84px;
      height:84px;
      border-radius:50%;
      background:
        conic-gradient(from 210deg, rgba(146,229,255,0) 0deg, rgba(146,229,255,.08) 100deg, rgba(218,247,255,.56) 122deg, rgba(146,229,255,.12) 150deg, rgba(146,229,255,0) 184deg, rgba(146,229,255,0) 360deg),
        radial-gradient(circle, rgba(142,223,255,.16) 0 15%, rgba(142,223,255,0) 18%),
        radial-gradient(circle, rgba(142,223,255,.22) 0 38%, rgba(142,223,255,0) 42%),
        radial-gradient(circle, rgba(172,234,255,.2) 0 58%, rgba(172,234,255,0) 62%);
      box-shadow:
        inset 0 0 0 1px rgba(170,227,255,.22),
        0 0 20px rgba(113,207,255,.2),
        0 0 36px rgba(104,184,255,.14);
      opacity:.92;
      animation:card4RadarBeacon 1.9s linear infinite;
    }
    .card4-radar::after{
      content:none;
    }
    .card_5::before{
      background:
        radial-gradient(circle at 22% 18%, rgba(255,230,237,.34), transparent 18%),
        radial-gradient(circle at 82% 12%, rgba(255,214,232,.22), transparent 16%),
        radial-gradient(circle at 50% 100%, rgba(255,205,222,.22), transparent 30%),
        linear-gradient(180deg, rgba(255,222,236,.2), rgba(248,192,210,.08));
      box-shadow:
        0 0 22px rgba(255,198,220,.18),
        0 0 42px rgba(255,214,168,.12);
      animation:card5BloomGlow 3.8s ease-in-out infinite;
    }
    .card_5::after{
      border:1px solid rgba(255,211,223,.54);
      background:
        linear-gradient(180deg, rgba(255,241,246,.08), rgba(255,241,246,0) 34%, rgba(255,221,232,.06) 92%, rgba(255,221,232,0));
      box-shadow:
        0 0 16px rgba(255,205,220,.14),
        inset 0 0 16px rgba(255,227,235,.12);
      animation:card5FrameGlow 5.4s ease-in-out infinite;
    }
    .card_5 .card_img::before{
      background:
        radial-gradient(circle at 20% 20%, rgba(255,244,248,.18), rgba(255,244,248,0) 18%),
        radial-gradient(circle at 82% 24%, rgba(255,224,234,.22), rgba(255,224,234,0) 16%),
        linear-gradient(180deg, rgba(255,241,245,.2), rgba(255,241,245,0) 28%);
      mix-blend-mode:screen;
      opacity:.88;
      animation:card5RomanceGlow 4.8s ease-in-out infinite;
    }
    .card_5 .card_img::after{
      background:
        radial-gradient(circle at 18% 16%, rgba(255,227,236,.62) 0 2px, transparent 2.8px),
        radial-gradient(circle at 82% 22%, rgba(255,214,230,.54) 0 2.5px, transparent 3.2px),
        radial-gradient(circle at 70% 78%, rgba(255,225,236,.46) 0 2.2px, transparent 3px),
        radial-gradient(circle at 50% 90%, rgba(255,235,241,.22) 0 18px, transparent 20px);
      filter:drop-shadow(0 0 6px rgba(255,214,230,.26));
      opacity:.76;
      animation:card5Sparkle 3.8s ease-in-out infinite;
    }
    .card5-petals{
      position:absolute;
      inset:5px;
      z-index:3;
      border-radius:10px;
      overflow:hidden;
      pointer-events:none;
    }
    .card5-petals::before{
      content:"";
      position:absolute;
      inset:-8% -10%;
      background:
        radial-gradient(circle at 22% 16%, rgba(255,228,236,.18), rgba(255,228,236,0) 16%),
        radial-gradient(circle at 78% 28%, rgba(255,218,230,.16), rgba(255,218,230,0) 15%),
        radial-gradient(circle at 46% 72%, rgba(255,234,240,.14), rgba(255,234,240,0) 16%);
      opacity:.64;
      animation:card5PetalFloat 8.4s linear infinite;
    }
    .card5-petals::after{
      content:"";
      position:absolute;
      left:14px;
      top:16px;
      width:10px;
      height:15px;
      border-radius:68% 68% 72% 72% / 56% 56% 100% 100%;
      background:linear-gradient(180deg, rgba(255,244,248,.98), rgba(255,208,226,.95) 58%, rgba(255,190,216,.9));
      box-shadow:
        34px 14px 0 0 rgba(255,214,228,.9),
        92px 12px 0 -1px rgba(255,206,223,.88),
        58px 78px 0 -1px rgba(255,210,226,.86),
        18px 126px 0 0 rgba(255,220,232,.84);
      opacity:.72;
      filter:drop-shadow(0 0 8px rgba(255,202,222,.18));
      transform:rotate(18deg);
      animation:card5HeartBeat 7.2s linear infinite;
    }
    .card_5:hover .card5-petals::after{
      opacity:.96;
    }
    body.popup-open .card4-radar,
    body.popup-open .card5-petals{
      opacity:0 !important;
      visibility:hidden !important;
      transform:translate3d(0,10px,0) scale(.92) !important;
    }
    @keyframes card4HullGlow{
      0%,100%{opacity:.72;transform:scale(.995);}
      50%{opacity:.98;transform:scale(1.012);}
    }
    @keyframes card4FramePulse{
      0%,100%{opacity:.68;box-shadow:0 0 10px rgba(109,203,255,.12), inset 0 0 12px rgba(144,216,255,.06);}
      50%{opacity:1;box-shadow:0 0 22px rgba(109,203,255,.24), inset 0 0 20px rgba(144,216,255,.14);}
    }
    @keyframes card4SeaChop{
      0%,100%{transform:translateY(0) scale(1);opacity:.84;}
      50%{transform:translateY(2px) scale(1.016);opacity:1;}
    }
    @keyframes card4RadarPulse{
      0%,100%{opacity:.54;transform:scale(1);}
      50%{opacity:.92;transform:scale(1.02);}
    }
    @keyframes card4RadarBeacon{
      0%{transform:rotate(0deg) scale(.9);opacity:.62;}
      100%{transform:rotate(360deg) scale(1.04);opacity:1;}
    }
    @keyframes card5RomanceGlow{
      0%,100%{opacity:.74;transform:scale(1);}
      50%{opacity:1;transform:scale(1.016);}
    }
    @keyframes card5BloomGlow{
      0%,100%{opacity:.72;transform:scale(.995);}
      50%{opacity:1;transform:scale(1.012);}
    }
    @keyframes card5FrameGlow{
      0%,100%{opacity:.76;box-shadow:0 0 12px rgba(255,205,220,.12), inset 0 0 14px rgba(255,227,235,.08);}
      50%{opacity:1;box-shadow:0 0 20px rgba(255,205,220,.22), inset 0 0 20px rgba(255,227,235,.14);}
    }
    @keyframes card5Sparkle{
      0%,100%{opacity:.52;transform:translateY(0) scale(1);}
      50%{opacity:.96;transform:translateY(-4px) scale(1.04);}
    }
    @keyframes card5PetalFloat{
      0%{transform:translate3d(0,-28px,0);}
      35%{transform:translate3d(-4px,18px,0);}
      70%{transform:translate3d(3px,74px,0);}
      100%{transform:translate3d(8px,148px,0);}
    }
    @keyframes card5HeartBeat{
      0%{opacity:.68;transform:rotate(16deg) translate3d(0,-24px,0);}
      28%{opacity:.82;transform:rotate(22deg) translate3d(4px,10px,0);}
      62%{opacity:.76;transform:rotate(10deg) translate3d(-2px,82px,0);}
      100%{opacity:.62;transform:rotate(18deg) translate3d(3px,156px,0);}
    }
    @media (max-width: 700px){
      .card4-radar::before{
        width:62px;
        height:62px;
      }
    }
    #popup{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.6);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:18px 0;box-sizing:border-box;touch-action:pan-y;}
    #popup-box{position:relative;width:900px;max-width:96%;max-height:90%;
               margin:24px auto;background:#fff;overflow:auto;box-shadow:0 0 20px rgba(0,0,0,.4);touch-action:pan-y;}
    #popup-close{position:absolute;right:6px;top:4px;border:none;background:none;
                 font-size:28px;line-height:26px;cursor:pointer;color:#555;}
    #popup-close:hover{color:#000;}
    #popup-box.popup-tech{
      background:transparent;
      box-shadow:none;
      overflow:visible;
      max-height:none;
    }
    #popup-box.popup-gallery{
      width:1080px;
      max-width:96%;
      background:transparent;
      box-shadow:none;
      overflow:visible;
      max-height:none;
    }
    .boot-shell{
      position:relative;
      margin:0 auto;
      max-width:920px;
      padding:34px 32px 28px;
      border-radius:24px;
      background:
        radial-gradient(circle at top, rgba(95,220,255,.24), transparent 40%),
        linear-gradient(160deg, rgba(5,17,29,.96), rgba(12,28,48,.94));
      border:1px solid rgba(108,221,255,.45);
      box-shadow:
        0 0 24px rgba(44,184,255,.24),
        inset 0 0 24px rgba(112,240,255,.08);
      color:#dff9ff;
    }
    .boot-link{
      display:flex;
      flex-direction:column;
      gap:8px;
      padding:16px 16px 14px;
      min-height:186px;
      border-radius:16px;
      border:1px solid rgba(112,229,255,.2);
      background:linear-gradient(180deg, rgba(21,52,82,.75), rgba(10,22,39,.78));
      color:#f0feff;
      text-decoration:none;
      box-shadow:inset 0 0 14px rgba(119,238,255,.06);
      transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
    }
    .boot-link:hover{
      transform:translateY(-3px);
      border-color:rgba(132,241,255,.55);
      box-shadow:
        0 10px 22px rgba(0,0,0,.24),
        inset 0 0 18px rgba(119,238,255,.12);
    }
    .boot-link.is-recommended{
      position:relative;
      border-color:rgba(255,232,150,.72);
      background:
        linear-gradient(180deg, rgba(57,86,118,.92), rgba(17,30,49,.9)),
        linear-gradient(135deg, rgba(255,230,150,.08), rgba(106,240,255,.06));
      box-shadow:
        0 0 0 1px rgba(255,238,182,.16),
        0 10px 26px rgba(8,14,26,.3),
        inset 0 0 22px rgba(255,233,169,.1);
    }
    .boot-link.is-recommended:hover{
      border-color:rgba(255,238,174,.96);
      box-shadow:
        0 0 20px rgba(255,229,147,.18),
        0 12px 28px rgba(0,0,0,.28),
        inset 0 0 24px rgba(255,233,169,.16);
    }
    .boot-link.is-disabled{
      cursor:default;
      border-color:rgba(139,205,224,.2);
      background:
        repeating-linear-gradient(180deg, rgba(136,205,224,.05) 0, rgba(136,205,224,.05) 1px, transparent 1px, transparent 6px),
        linear-gradient(180deg, rgba(17,34,54,.78), rgba(9,18,31,.84));
      color:#93b8c7;
      opacity:.78;
      box-shadow:
        inset 0 0 14px rgba(98,170,196,.05),
        0 8px 18px rgba(0,0,0,.16);
    }
    .boot-link.is-disabled:hover{
      transform:none;
      border-color:rgba(139,205,224,.2);
      box-shadow:
        inset 0 0 14px rgba(98,170,196,.05),
        0 8px 18px rgba(0,0,0,.16);
    }
    .boot-link-badge{
      align-self:flex-start;
      display:inline-flex;
      align-items:center;
      height:24px;
      padding:0 10px;
      border-radius:999px;
      border:1px solid rgba(255,235,176,.5);
      background:linear-gradient(180deg, rgba(255,244,203,.18), rgba(255,214,119,.08));
      color:#ffe8a0;
      font-size:12px;
      letter-spacing:1px;
      text-transform:uppercase;
      box-shadow:0 0 12px rgba(255,226,149,.12);
    }
    .boot-link-badge.is-offline{
      border-color:rgba(255,158,173,.42);
      background:linear-gradient(180deg, rgba(255,194,206,.14), rgba(255,124,152,.08));
      color:#ffb7c6;
      box-shadow:0 0 12px rgba(255,132,158,.1);
    }
    .boot-link-title{
      font-size:18px;
      line-height:1.28;
      color:#ffffff;
      letter-spacing:.5px;
    }
    .boot-link-meta{
      font-size:12px;
      line-height:1.3;
      color:#89d6ec;
      letter-spacing:1px;
      text-transform:uppercase;
    }
    .boot-link-desc{
      flex:1 1 auto;
      display:block;
      font-size:13px;
      line-height:1.62;
      color:#bfe9f3;
    }
    .boot-link.is-disabled .boot-link-title{color:#d8edf4;}
    .boot-link.is-disabled .boot-link-meta{color:#87b2c3;}
    .boot-link.is-disabled .boot-link-desc{color:#9cb8c6;}
    .boot-cancel{
      margin-top:22px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:140px;
      height:42px;
      border-radius:999px;
      border:1px solid rgba(120,231,255,.35);
      background:rgba(8,18,33,.56);
      color:#dffaff;
      cursor:pointer;
      transition:background .2s ease, border-color .2s ease, transform .2s ease;
    }
    .boot-cancel:hover{
      background:rgba(16,37,64,.8);
      border-color:rgba(148,240,255,.6);
      transform:translateY(-2px);
    }
    @keyframes techPanelIn{
      from{opacity:0;transform:translateY(18px);}
      to{opacity:1;transform:translateY(0);}
    }
    .popup-card2-shell{
      padding:34px 32px 28px;
      color:#243343;
      line-height:1.8;
      background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,252,.98));
    }
    .popup-card2-title{
      margin:0 0 10px;
      font-size:30px;
      text-align:center;
      color:#1f3140;
      letter-spacing:1px;
    }
    .popup-card2-lead{
      font-size:17px;
      color:#415567;
      text-align:center;
      margin:0 auto 18px;
      max-width:760px;
    }
    .popup-card2-frame{
      margin-top:18px;
      border-radius:18px;
      overflow:hidden;
      border:1px solid rgba(162,186,208,.5);
      box-shadow:
        0 18px 32px rgba(20,39,60,.12),
        inset 0 0 18px rgba(255,255,255,.26);
      background:#fff;
    }
    .popup-card2-frame iframe{
      display:block;
      width:100%;
      height:min(68vh,780px);
      border:0;
      background:#fff;
    }
    .popup-card2-actions{
      display:flex;
      justify-content:center;
      gap:14px;
      flex-wrap:wrap;
      margin-top:20px;
    }
    #popup-box.popup-desk{
      width:1120px;
      max-width:96%;
      background:transparent;
      box-shadow:none;
      overflow:visible;
      max-height:none;
    }
    .popup-desk-shell{
      position:relative;
      padding:22px 22px 18px;
      border-radius:28px;
      background:
        radial-gradient(circle at top left, rgba(255,241,221,.92), rgba(255,241,221,0) 28%),
        radial-gradient(circle at 86% 14%, rgba(255,215,232,.42), rgba(255,215,232,0) 24%),
        linear-gradient(145deg, rgba(255,249,241,.98), rgba(250,239,223,.985) 42%, rgba(247,233,215,.99));
      border:1px solid rgba(224,193,153,.52);
      box-shadow:
        0 28px 56px rgba(96,64,34,.18),
        inset 0 0 0 1px rgba(255,255,255,.42),
        inset 0 18px 34px rgba(255,255,255,.22);
      color:#5c4534;
      overflow:hidden;
    }
    .popup-desk-shell,
    .popup-desk-shell *{
      box-sizing:border-box;
    }
    .popup-desk-shell::before{
      content:"";
      position:absolute;
      inset:18px;
      border-radius:22px;
      border:1px solid rgba(232,214,183,.78);
      pointer-events:none;
    }
    .popup-desk-shell::after{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:
        radial-gradient(circle at 12% 18%, rgba(255,255,255,.18) 0 2px, transparent 2px),
        radial-gradient(circle at 84% 22%, rgba(255,206,223,.18) 0 2px, transparent 2px),
        linear-gradient(90deg, rgba(248,221,227,.08), rgba(248,221,227,0) 24%, rgba(248,221,227,.08) 52%, rgba(248,221,227,0) 74%);
      opacity:.95;
    }
    .popup-desk-sakura{
      position:absolute;
      color:rgba(232,155,184,.34);
      font-size:48px;
      line-height:1;
      text-shadow:0 8px 20px rgba(255,197,216,.22);
      pointer-events:none;
      z-index:0;
    }
    .popup-desk-sakura-a{
      top:30px;
      right:34px;
      transform:rotate(14deg);
    }
    .popup-desk-sakura-b{
      left:18px;
      bottom:132px;
      font-size:56px;
      transform:rotate(-10deg);
    }
    .popup-desk-topline{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
      margin-bottom:12px;
      position:relative;
      z-index:1;
    }
    .popup-desk-badge{
      display:inline-flex;
      align-items:center;
      height:30px;
      padding:0 14px;
      border-radius:999px;
      background:linear-gradient(180deg, rgba(255,246,230,.94), rgba(247,220,185,.92));
      border:1px solid rgba(219,185,136,.65);
      color:#9a6a3d;
      font-size:12px;
      letter-spacing:1.6px;
      text-transform:uppercase;
      box-shadow:0 10px 18px rgba(154,106,61,.08);
    }
    .popup-desk-alias{
      color:#b88566;
      font-size:13px;
      letter-spacing:1.2px;
    }
    .popup-desk-main{
      display:grid;
      grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr);
      gap:22px;
      align-items:start;
      position:relative;
      z-index:1;
    }
    .popup-desk-main > *,
    .popup-desk-notes > *,
    .popup-desk-stats > *{
      min-width:0;
    }
    .popup-desk-visual{
      position:relative;
      z-index:4;
      padding:12px 12px 10px;
      border-radius:24px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,245,236,.94)),
        repeating-linear-gradient(0deg, rgba(232,216,197,.16) 0, rgba(232,216,197,.16) 1px, transparent 1px, transparent 18px);
      box-shadow:
        0 16px 28px rgba(91,61,35,.1),
        inset 0 0 0 1px rgba(255,255,255,.52);
      transform:rotate(-1.6deg);
      overflow:visible;
    }
    .popup-desk-poster-frame{
      position:relative;
      padding:12px;
      border-radius:22px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,248,239,.92)),
        linear-gradient(135deg, rgba(252,227,234,.48), rgba(255,245,228,0) 52%),
        linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0));
      border:1px solid rgba(228,199,160,.62);
      box-shadow:
        0 18px 28px rgba(91,61,35,.12),
        inset 0 0 0 1px rgba(255,255,255,.52);
    }
    .popup-desk-poster-logo{
      margin-bottom:12px;
      text-align:center;
    }
    .popup-desk-series-jp{
      display:block;
      font-size:30px;
      line-height:1.06;
      font-weight:800;
      letter-spacing:1.2px;
      color:transparent;
      background:linear-gradient(90deg, #ff5d8d 0%, #ff9f2f 46%, #ff4fb2 100%);
      -webkit-background-clip:text;
      background-clip:text;
      text-shadow:
        0 2px 0 rgba(255,255,255,.72),
        0 10px 18px rgba(255,132,176,.16);
    }
    .popup-desk-series-en{
      display:block;
      margin-top:6px;
      color:#b98673;
      font-size:11px;
      letter-spacing:1.6px;
      text-transform:uppercase;
    }
    .popup-desk-photo{
      aspect-ratio:7 / 8;
      border-radius:18px;
      background:
        radial-gradient(circle at top, rgba(214,247,231,.72), rgba(214,247,231,0) 32%),
        linear-gradient(180deg, rgba(238,246,234,.98), rgba(231,241,232,.98));
      background-position:center;
      background-repeat:no-repeat;
      background-size:contain;
      box-shadow:
        0 18px 28px rgba(91,61,35,.12),
        inset 0 0 0 1px rgba(255,255,255,.32);
      position:relative;
      overflow:hidden;
    }
    .popup-desk-photo::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 18% 12%, rgba(255,255,255,.9), rgba(255,255,255,0) 18%),
        radial-gradient(circle at 82% 18%, rgba(255,215,231,.26), rgba(255,215,231,0) 18%),
        radial-gradient(circle at 50% 86%, rgba(209,229,255,.18), rgba(209,229,255,0) 28%);
      pointer-events:none;
    }
    .popup-desk-season-note{
      margin-top:6px;
      color:#ba8b63;
      font-size:10px;
      letter-spacing:1.6px;
      text-align:center;
      text-transform:uppercase;
    }
    .popup-desk-poster-label{
      position:absolute;
      right:16px;
      bottom:10px;
      display:inline-flex;
      align-items:center;
      min-height:28px;
      padding:0 12px;
      border-radius:999px;
      background:linear-gradient(180deg, rgba(255,244,227,.96), rgba(246,223,188,.94));
      border:1px solid rgba(220,183,133,.66);
      color:#9a6c47;
      font-size:11px;
      letter-spacing:1.2px;
      box-shadow:0 8px 16px rgba(91,61,35,.08);
    }
    .popup-desk-tape{
      position:absolute;
      top:10px;
      width:72px;
      height:26px;
      border-radius:8px;
      background:linear-gradient(180deg, rgba(255,228,191,.7), rgba(239,203,157,.62));
      box-shadow:0 6px 12px rgba(139,103,70,.1);
      opacity:.88;
    }
    .popup-desk-tape-left{
      left:28px;
      transform:rotate(-14deg);
    }
    .popup-desk-tape-right{
      right:28px;
      transform:rotate(13deg);
    }
    .popup-desk-caption{
      position:relative;
      left:auto;
      right:auto;
      bottom:auto;
      margin-top:8px;
      padding:10px 12px;
      border-radius:16px;
      background:linear-gradient(180deg, rgba(255,251,246,.92), rgba(249,233,214,.94));
      box-shadow:0 10px 18px rgba(91,61,35,.1);
      color:#8e6241;
    }
    .popup-desk-caption span{
      display:block;
      font-size:11px;
      letter-spacing:1.4px;
      text-transform:uppercase;
      opacity:.86;
    }
    .popup-desk-caption strong{
      display:block;
      margin-top:3px;
      font-size:15px;
      color:#6d4b35;
    }
    .popup-desk-panel{
      position:relative;
      padding:4px 2px 2px;
    }
    .popup-desk-panel::before{
      content:"";
      position:absolute;
      top:0;
      right:24px;
      width:132px;
      height:132px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(255,215,226,.32), rgba(255,215,226,0) 72%);
      pointer-events:none;
    }
    .popup-desk-titleblock{
      position:relative;
      padding-right:26px;
    }
    .popup-desk-titleblock::after{
      content:"✿";
      position:absolute;
      top:-4px;
      right:0;
      color:rgba(224,135,168,.6);
      font-size:22px;
      line-height:1;
    }
    .popup-desk-title-kicker{
      color:#c48d66;
      font-size:10px;
      letter-spacing:1.8px;
      text-transform:uppercase;
      margin-bottom:6px;
    }
    .popup-desk-title{
      margin:0;
      font-size:33px;
      line-height:1.14;
      color:#6d4a35;
      letter-spacing:1px;
    }
    .popup-desk-series-inline{
      display:flex;
      align-items:flex-end;
      gap:10px;
      flex-wrap:wrap;
      margin-top:8px;
    }
    .popup-desk-series-inline span{
      color:transparent;
      background:linear-gradient(90deg, #ff6290 0%, #ffa13f 40%, #ff6ca2 100%);
      -webkit-background-clip:text;
      background-clip:text;
      font-size:24px;
      font-weight:800;
      line-height:1.08;
    }
    .popup-desk-series-inline em{
      color:#ba8b63;
      font-style:normal;
      font-size:12px;
      letter-spacing:1.2px;
      text-transform:uppercase;
    }
    .popup-desk-quote{
      margin-top:10px;
      padding:12px 16px;
      border-radius:16px;
      background:linear-gradient(180deg, rgba(255,240,244,.78), rgba(255,229,236,.64));
      border:1px solid rgba(228,179,189,.42);
      color:#a66374;
      font-size:14px;
      line-height:1.7;
      box-shadow:0 8px 20px rgba(196,131,147,.08);
    }
    .popup-desk-lead{
      margin-top:14px;
      font-size:14px;
      line-height:1.82;
      color:#775845;
    }
    .popup-desk-chiplist{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:14px;
    }
    .popup-desk-chip{
      display:inline-flex;
      align-items:center;
      min-height:30px;
      padding:0 12px;
      border-radius:999px;
      background:linear-gradient(180deg, rgba(255,250,240,.98), rgba(247,229,204,.96));
      border:1px solid rgba(221,189,148,.56);
      box-shadow:0 6px 14px rgba(142,98,65,.07);
      color:#936646;
      font-size:12px;
      letter-spacing:.4px;
    }
    .popup-desk-stats{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:10px;
      margin-top:14px;
    }
    .popup-desk-stat{
      padding:12px 12px 10px;
      border-radius:18px;
      background:linear-gradient(180deg, rgba(255,253,249,.98), rgba(247,236,219,.96));
      border:1px solid rgba(228,202,168,.56);
      box-shadow:0 10px 20px rgba(91,61,35,.07);
    }
    .popup-desk-stat-label{
      display:block;
      margin-bottom:8px;
      color:#b38563;
      font-size:11px;
      letter-spacing:1.2px;
      text-transform:uppercase;
    }
    .popup-desk-stat strong{
      display:block;
      color:#6b4a36;
      font-size:14px;
      line-height:1.5;
    }
    .popup-desk-notes{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
      margin-top:16px;
      position:relative;
      z-index:1;
    }
    .popup-desk-sidecard{
      position:absolute;
      z-index:2;
      border-radius:18px;
      box-shadow:0 14px 24px rgba(91,61,35,.1);
      border:1px solid rgba(224,197,160,.52);
    }
    .popup-desk-sidecard-title{
      margin-bottom:10px;
      color:#bf835d;
      font-size:11px;
      letter-spacing:1.6px;
      text-transform:uppercase;
    }
    .popup-desk-sidecard-swatches{
      left:18px;
      bottom:86px;
      width:176px;
      padding:12px 12px 10px;
      background:linear-gradient(180deg, rgba(255,252,248,.98), rgba(245,234,220,.96));
      transform:rotate(-4deg);
    }
    .popup-desk-swatches{
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .popup-desk-swatch{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .popup-desk-swatch-color{
      flex:0 0 auto;
      width:32px;
      height:32px;
      border-radius:10px;
      border:1px solid rgba(170,142,110,.24);
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);
    }
    .popup-desk-swatch-meta{
      display:flex;
      flex-direction:column;
      gap:1px;
    }
    .popup-desk-swatch-meta em{
      color:#bb8c68;
      font-style:normal;
      font-size:10px;
      letter-spacing:1px;
      text-transform:uppercase;
    }
    .popup-desk-swatch-meta strong{
      color:#73523d;
      font-size:12px;
      font-weight:700;
    }
    .popup-desk-memo-anchor{
      position:absolute;
      top:152px;
      right:136px;
      z-index:3;
    }
    .popup-desk-memo-hotspot{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:22px;
      height:22px;
      padding:0;
      border:0;
      border-radius:999px;
      background:transparent;
      cursor:pointer;
    }
    .popup-desk-memo-dot{
      position:relative;
      width:12px;
      height:12px;
      border-radius:50%;
      background:linear-gradient(180deg, rgba(255,248,239,.98), rgba(246,223,188,.96));
      border:1px solid rgba(214,175,133,.78);
      box-shadow:
        0 6px 14px rgba(91,61,35,.16),
        0 0 0 4px rgba(255,244,230,.66);
    }
    .popup-desk-memo-dot::after{
      content:"";
      position:absolute;
      inset:-6px;
      border-radius:50%;
      border:1px solid rgba(228,189,150,.42);
      opacity:.92;
    }
    .popup-desk-sidecard-pencil{
      position:absolute;
      top:calc(100% + 10px);
      left:10px;
      width:216px;
      padding:12px 14px 11px;
      background:linear-gradient(180deg, rgba(255,252,248,.98), rgba(245,234,220,.96));
      border:1px solid rgba(224,197,160,.52);
      box-shadow:0 14px 24px rgba(91,61,35,.1);
      transform:translateY(8px);
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      z-index:8;
      transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
    }
    .popup-desk-memo-anchor:hover .popup-desk-sidecard-pencil,
    .popup-desk-memo-anchor:focus-within .popup-desk-sidecard-pencil,
    .popup-desk-memo-anchor.is-open .popup-desk-sidecard-pencil{
      opacity:1;
      visibility:visible;
      transform:translateY(0);
      pointer-events:auto;
    }
    .popup-desk-sidecard-pencil .popup-desk-sidecard-title{
      margin-bottom:8px;
    }
    .popup-desk-pencil-notes{
      margin:0;
      padding:0;
      list-style:none;
      color:#795842;
      font-size:11px;
      line-height:1.58;
      text-shadow:0 1px 0 rgba(255,255,255,.55);
    }
    .popup-desk-pencil-notes li + li{
      margin-top:4px;
    }
    .popup-desk-note{
      position:relative;
      padding:16px 16px 14px;
      border-radius:20px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.74), rgba(251,242,231,.95)),
        repeating-linear-gradient(180deg, rgba(216,196,171,.12) 0, rgba(216,196,171,.12) 1px, transparent 1px, transparent 20px);
      border:1px solid rgba(224,197,160,.52);
      box-shadow:0 14px 24px rgba(91,61,35,.08);
    }
    .popup-desk-note::before{
      content:"";
      position:absolute;
      top:-10px;
      left:20px;
      width:64px;
      height:20px;
      border-radius:8px;
      background:linear-gradient(180deg, rgba(255,219,190,.74), rgba(237,198,160,.58));
      transform:rotate(-8deg);
      opacity:.86;
    }
    .popup-desk-note-eyebrow{
      color:#c08d65;
      font-size:11px;
      letter-spacing:1.4px;
      text-transform:uppercase;
    }
    .popup-desk-note h3{
      margin:6px 0 6px;
      color:#6d4b36;
      font-size:20px;
      line-height:1.2;
    }
    .popup-desk-note p{
      margin:0;
      color:#775845;
      font-size:13px;
      line-height:1.72;
    }
    .popup-desk-footer{
      display:grid;
      grid-template-columns:minmax(0,1fr) 220px;
      align-items:center;
      gap:18px;
      margin-top:14px;
      padding:16px 0 18px;
      border-top:1px solid rgba(225,200,168,.52);
      position:relative;
      z-index:1;
    }
    .popup-desk-footer-text{
      flex:none;
      color:#8b684d;
      font-size:13px;
      line-height:1.72;
    }
    .popup-desk-close{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:164px;
      height:46px;
      padding:0 18px;
      border:1px solid rgba(214,175,133,.62);
      border-radius:999px;
      background:linear-gradient(180deg, rgba(255,245,230,.98), rgba(245,223,190,.94));
      box-shadow:0 12px 20px rgba(91,61,35,.08);
      color:#8a5e3c;
      font-size:14px;
      letter-spacing:.8px;
      cursor:pointer;
      transition:transform .2s ease, box-shadow .2s ease;
      justify-self:center;
      align-self:center;
      margin:0;
    }
    .popup-desk-close:hover{
      transform:translateY(-2px);
      box-shadow:0 16px 24px rgba(91,61,35,.12);
    }
    .popup-gallery-shell{
      position:relative;
      padding:22px 22px 24px;
      border-radius:30px;
      background:
        radial-gradient(circle at 14% 12%, rgba(255,244,198,.28), transparent 22%),
        radial-gradient(circle at 84% 16%, rgba(151,199,255,.24), transparent 24%),
        linear-gradient(140deg, rgba(12,28,60,.97), rgba(24,46,87,.95) 40%, rgba(19,31,65,.97) 100%);
      border:1px solid rgba(161,196,255,.38);
      box-shadow:
        0 26px 56px rgba(7,18,40,.34),
        inset 0 0 0 1px rgba(255,242,192,.1),
        inset 0 18px 40px rgba(255,255,255,.04);
      color:#e5eeff;
      overflow:hidden;
    }
    .popup-gallery-shell::before{
      content:"";
      position:absolute;
      inset:14px;
      border-radius:24px;
      border:1px solid rgba(253,228,164,.26);
      box-shadow:
        inset 0 0 0 1px rgba(156,203,255,.14),
        0 0 0 1px rgba(126,176,255,.08);
      pointer-events:none;
    }
    .popup-gallery-shell::after{
      content:"";
      position:absolute;
      inset:26px;
      border-radius:22px;
      pointer-events:none;
      background:
        radial-gradient(circle at 18% 20%, rgba(255,255,255,.16) 0 2px, transparent 2px),
        radial-gradient(circle at 82% 24%, rgba(255,227,151,.2) 0 2px, transparent 2px),
        radial-gradient(circle at 58% 76%, rgba(178,214,255,.16) 0 2px, transparent 2px);
      opacity:.8;
    }
    .popup-gallery-topline{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
      margin-bottom:10px;
    }
    .popup-gallery-badge{
      display:inline-flex;
      align-items:center;
      height:28px;
      padding:0 12px;
      border-radius:999px;
      background:linear-gradient(180deg, rgba(255,224,151,.2), rgba(84,156,255,.12));
      border:1px solid rgba(255,226,149,.42);
      color:#f8de95;
      font-size:12px;
      letter-spacing:1.8px;
      text-transform:uppercase;
      box-shadow:0 0 18px rgba(118,171,255,.16);
    }
    .popup-gallery-counter{
      color:#a7c6f3;
      font-size:13px;
      letter-spacing:1.4px;
      text-shadow:0 0 16px rgba(111,172,255,.12);
    }
    .popup-gallery-title{
      margin:0;
      font-size:34px;
      letter-spacing:1px;
      color:#f1f6ff;
      text-align:center;
      text-shadow:0 10px 30px rgba(32,88,166,.22);
    }
    .popup-gallery-lead{
      margin:12px auto 20px;
      max-width:760px;
      text-align:center;
      font-size:16px;
      line-height:1.8;
      color:#b9cdef;
    }
    .popup-gallery-main{
      display:grid;
      grid-template-columns:minmax(0,1.16fr) minmax(300px,.84fr);
      gap:24px;
      align-items:stretch;
    }
    .popup-gallery-stage{
      position:relative;
      min-height:0;
      aspect-ratio:4 / 5;
      border-radius:26px;
      overflow:hidden;
      background:
        radial-gradient(circle at top, rgba(255,239,179,.14), transparent 36%),
        linear-gradient(180deg, rgba(16,42,86,.96), rgba(10,24,51,.96));
      border:1px solid rgba(248,223,157,.34);
      box-shadow:
        inset 0 0 0 1px rgba(161,201,255,.18),
        inset 0 0 48px rgba(124,181,255,.08),
        0 22px 40px rgba(8,18,39,.32);
      display:flex;
      align-items:center;
      justify-content:center;
      padding:18px;
    }
    .popup-gallery-stage::before{
      content:"";
      position:absolute;
      inset:12px;
      border-radius:20px;
      border:1px solid rgba(255,226,149,.18);
      pointer-events:none;
    }
    .popup-gallery-stage::after{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.16), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0) 28%, rgba(255,255,255,.04) 100%);
    }
    .popup-gallery-photo{
      display:block;
      width:100%;
      height:100%;
      object-fit:contain;
      object-position:center;
      cursor:pointer;
      background:transparent;
      border-radius:16px;
      filter:drop-shadow(0 18px 26px rgba(0,0,0,.22));
    }
    .popup-gallery-placeholder{
      position:absolute;
      inset:0;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:12px;
      padding:34px;
      text-align:center;
      background:
        radial-gradient(circle at 50% 20%, rgba(255,228,160,.12), transparent 26%),
        repeating-linear-gradient(135deg, rgba(127,174,240,.08) 0, rgba(127,174,240,.08) 12px, transparent 12px, transparent 24px);
      color:#c2d6f8;
    }
    .popup-gallery-placeholder strong{
      font-size:22px;
      color:#f7dfa0;
      letter-spacing:2px;
    }
    .popup-gallery-placeholder span{
      font-size:14px;
      line-height:1.8;
      max-width:380px;
    }
    .popup-gallery-nav{
      position:absolute;
      top:50%;
      left:18px;
      right:18px;
      display:flex;
      justify-content:space-between;
      transform:translateY(-50%);
      pointer-events:none;
    }
    .popup-gallery-nav button{
      pointer-events:auto;
      width:46px;
      height:46px;
      border:0;
      border-radius:50%;
      background:linear-gradient(180deg, rgba(14,36,71,.92), rgba(10,24,49,.88));
      border:1px solid rgba(248,223,157,.26);
      box-shadow:0 14px 24px rgba(6,16,34,.36);
      color:#f8e3a4;
      font-size:22px;
      cursor:pointer;
      transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
    }
    .popup-gallery-nav button:hover{
      transform:scale(1.06);
      background:linear-gradient(180deg, rgba(28,62,118,.96), rgba(14,35,70,.94));
      box-shadow:0 18px 28px rgba(11,24,47,.42);
    }
    .popup-gallery-panel{
      display:flex;
      flex-direction:column;
      gap:16px;
      padding:22px 20px 18px;
      border-radius:24px;
      background:
        linear-gradient(180deg, rgba(245,250,255,.1), rgba(25,49,88,.46)),
        linear-gradient(180deg, rgba(16,36,68,.92), rgba(12,27,55,.94));
      border:1px solid rgba(161,198,255,.24);
      box-shadow:
        inset 0 0 0 1px rgba(255,224,153,.08),
        0 18px 30px rgba(7,17,37,.22);
    }
    .popup-gallery-panel h3{
      margin:0;
      font-size:28px;
      color:#f2f6ff;
    }
    .popup-gallery-subtitle{
      font-size:13px;
      color:#8ec7ff;
      letter-spacing:1.8px;
      text-transform:uppercase;
    }
    .popup-gallery-desc{
      font-size:15px;
      line-height:1.85;
      color:#bfd2f0;
    }
    .popup-gallery-hint{
      padding:14px 16px;
      border-radius:16px;
      background:
        linear-gradient(180deg, rgba(255,224,150,.08), rgba(118,174,255,.08)),
        rgba(255,255,255,.02);
      border:1px solid rgba(248,223,157,.22);
      color:#d0dcf4;
      font-size:13px;
      line-height:1.75;
    }
    .popup-gallery-actions{
      display:flex;
      justify-content:flex-start;
      margin-top:4px;
    }
    .popup-gallery-exit{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:128px;
      height:42px;
      padding:0 18px;
      border-radius:999px;
      border:1px solid rgba(248,223,157,.34);
      background:
        linear-gradient(180deg, rgba(26,58,108,.94), rgba(13,30,59,.94));
      box-shadow:
        0 14px 24px rgba(8,18,39,.22),
        inset 0 0 0 1px rgba(255,255,255,.04);
      color:#f5deb1;
      font-size:14px;
      letter-spacing:.8px;
      cursor:pointer;
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .popup-gallery-exit:hover{
      transform:translateY(-1px);
      border-color:rgba(255,227,151,.52);
      box-shadow:
        0 18px 28px rgba(8,18,39,.28),
        0 0 0 1px rgba(255,227,151,.08);
    }
    .popup-gallery-strip{
      display:grid;
      grid-template-columns:repeat(6,minmax(0,1fr));
      gap:12px;
      margin-top:20px;
    }
    .popup-gallery-thumb{
      position:relative;
      overflow:hidden;
      min-height:104px;
      border-radius:18px;
      border:1px solid rgba(153,191,247,.26);
      background:
        linear-gradient(180deg, rgba(20,45,85,.92), rgba(10,23,49,.96));
      box-shadow:0 12px 24px rgba(7,18,39,.22);
      cursor:pointer;
      transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
      text-align:left;
      padding:12px;
    }
    .popup-gallery-thumb:hover{
      transform:translateY(-2px);
      border-color:rgba(250,222,149,.42);
      box-shadow:0 18px 28px rgba(8,19,38,.32);
    }
    .popup-gallery-thumb.active{
      border-color:rgba(250,222,149,.58);
      box-shadow:
        0 18px 28px rgba(7,18,39,.34),
        0 0 0 1px rgba(255,222,146,.22);
      transform:translateY(-2px);
    }
    .popup-gallery-thumb.is-empty{
      background:
        repeating-linear-gradient(135deg, rgba(142,168,204,.08) 0, rgba(142,168,204,.08) 10px, transparent 10px, transparent 20px),
        linear-gradient(180deg, rgba(18,38,72,.86), rgba(9,20,42,.94));
    }
    .popup-gallery-thumb-slot{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:44px;
      height:22px;
      padding:0 8px;
      border-radius:999px;
      background:rgba(247,224,158,.12);
      color:#f7dfa0;
      font-size:11px;
      letter-spacing:1.3px;
      text-transform:uppercase;
      margin-bottom:8px;
    }
    .popup-gallery-thumb-title{
      display:block;
      font-size:15px;
      color:#eff4ff;
      margin-bottom:4px;
      font-weight:600;
    }
    .popup-gallery-thumb-note{
      display:block;
      font-size:12px;
      line-height:1.55;
      color:#9fbbdf;
    }
    .popup-album-shell{
      position:relative;
      padding:26px 26px 22px;
      border-radius:32px;
      background:
        radial-gradient(circle at 18% 0%, rgba(255,255,255,.16), transparent 26%),
        radial-gradient(circle at 84% 12%, rgba(126,220,255,.2), transparent 22%),
        linear-gradient(155deg, rgba(10,22,48,.98), rgba(18,40,82,.98) 42%, rgba(16,31,71,.98) 70%, rgba(10,21,46,.98) 100%);
      border:1px solid rgba(137,197,255,.22);
      box-shadow:
        0 28px 64px rgba(5,13,30,.44),
        inset 0 1px 0 rgba(255,255,255,.06),
        inset 0 0 0 1px rgba(255,231,181,.06);
      color:#eef6ff;
      overflow:hidden;
    }
    .popup-album-shell::before{
      content:"";
      position:absolute;
      inset:14px;
      border-radius:26px;
      border:1px solid rgba(190,230,255,.12);
      box-shadow:
        inset 0 0 0 1px rgba(255,221,154,.08),
        0 0 0 1px rgba(89,151,223,.08);
      pointer-events:none;
    }
    .popup-album-shell::after{
      content:"";
      position:absolute;
      inset:-10% auto auto -8%;
      width:42%;
      height:58%;
      background:
        radial-gradient(circle, rgba(128,220,255,.16) 0, rgba(128,220,255,0) 68%);
      filter:blur(14px);
      pointer-events:none;
    }
    .popup-album-topline{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
      margin-bottom:10px;
    }
    .popup-album-badge{
      display:inline-flex;
      align-items:center;
      height:28px;
      padding:0 12px;
      border-radius:999px;
      background:linear-gradient(180deg, rgba(255,227,152,.16), rgba(103,167,255,.12));
      border:1px solid rgba(249,223,157,.34);
      color:#f7dfa0;
      font-size:12px;
      letter-spacing:1.8px;
      text-transform:uppercase;
      box-shadow:0 0 18px rgba(117,171,255,.12);
    }
    .popup-album-counter{
      color:#b8d7ff;
      font-size:13px;
      letter-spacing:1.6px;
      text-transform:uppercase;
    }
    .popup-album-title{
      margin:0;
      text-align:center;
      font-size:34px;
      color:#f1f6ff;
      text-shadow:0 10px 30px rgba(32,88,166,.22);
    }
    .popup-album-lead{
      margin:14px auto 0;
      max-width:700px;
      text-align:center;
      font-size:15px;
      line-height:1.85;
      color:#c3d7f2;
    }
    .popup-album-book{
      position:relative;
      margin-top:24px;
      padding:0 84px;
      overflow:visible;
    }
    .popup-album-sheet{
      position:relative;
      min-height:640px;
      padding:30px 30px 24px;
      border-radius:30px;
      background:
        radial-gradient(circle at 18% 0%, rgba(165,223,255,.14), transparent 28%),
        radial-gradient(circle at 78% 16%, rgba(255,235,192,.18), transparent 24%),
        linear-gradient(90deg, rgba(242,248,255,.92) 0, rgba(248,242,232,.98) 4.2%, rgba(255,250,241,.99) 54%, rgba(245,236,222,.98) 100%);
      border:1px solid rgba(164,196,226,.38);
      box-shadow:
        0 24px 42px rgba(4,12,28,.28),
        inset 0 0 0 1px rgba(255,255,255,.24),
        inset 0 -30px 48px rgba(220,232,250,.16);
      transition:transform .28s ease, opacity .28s ease;
    }
    .popup-album-sheet.is-flipping{
      transform:translateX(-10px) rotateY(-10deg) scale(.985);
      opacity:.56;
    }
    .popup-album-sheet::before{
      content:"";
      position:absolute;
      left:34px;
      top:16px;
      bottom:16px;
      width:18px;
      border-radius:999px;
      background:
        linear-gradient(180deg, rgba(223,233,246,.96), rgba(197,214,233,.94));
      box-shadow:
        inset -1px 0 0 rgba(255,255,255,.5),
        inset 1px 0 0 rgba(133,160,190,.18),
        8px 0 18px rgba(99,132,173,.12);
    }
    .popup-album-sheet::after{
      content:"";
      position:absolute;
      inset:18px;
      border-radius:24px;
      border:1px solid rgba(201,223,246,.42);
      box-shadow:inset 0 0 0 1px rgba(214,185,132,.14);
      pointer-events:none;
    }
    .popup-album-page-header{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding-left:42px;
      margin-bottom:10px;
    }
    .popup-album-page-mark{
      color:#9bb8d8;
      font-size:12px;
      letter-spacing:2px;
      text-transform:uppercase;
    }
    .popup-album-page-number{
      color:#96add0;
      font-size:13px;
      letter-spacing:1.5px;
    }
    .popup-album-page-title{
      padding-left:42px;
      min-height:40px;
      font-size:30px;
      line-height:1.3;
      color:#58452e;
      font-weight:700;
      letter-spacing:.5px;
    }
    .popup-album-page-note{
      padding-left:42px;
      margin-top:8px;
      min-height:52px;
      font-size:14px;
      line-height:1.8;
      color:#87705b;
    }
    .popup-album-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:26px;
      margin-top:26px;
      padding:0 10px 0 42px;
      align-items:stretch;
    }
    .popup-album-card{
      position:relative;
      display:flex;
      flex-direction:column;
      width:100%;
      height:100%;
      padding:18px 16px 16px;
      border:none;
      border-radius:22px;
      background:
        linear-gradient(180deg, rgba(255,253,247,.99), rgba(243,234,218,.98));
      box-shadow:
        0 18px 28px rgba(83,62,35,.16),
        0 4px 0 rgba(196,172,134,.16);
      cursor:pointer;
      text-align:left;
      transform:rotate(var(--album-tilt, -1.4deg));
      transition:transform .22s ease, box-shadow .22s ease;
      outline:1px solid rgba(255,255,255,.48);
    }
    .popup-album-card:nth-child(2n){
      --album-tilt:1.4deg;
    }
    .popup-album-card:hover{
      transform:translateY(-2px) rotate(var(--album-tilt, -1.4deg));
      box-shadow:
        0 22px 34px rgba(83,62,35,.2),
        0 5px 0 rgba(196,172,134,.18);
    }
    .popup-album-card.is-empty{
      cursor:default;
      opacity:.88;
    }
    .popup-album-pin{
      position:absolute;
      top:10px;
      left:50%;
      width:16px;
      height:16px;
      margin-left:-8px;
      border-radius:50%;
      background:
        radial-gradient(circle at 30% 30%, rgba(255,255,255,.84), rgba(143,216,255,.72) 38%, rgba(72,122,205,.92) 100%);
      box-shadow:
        0 3px 10px rgba(38,85,168,.28),
        inset 0 1px 1px rgba(255,255,255,.66);
    }
    .popup-album-photo-wrap{
      display:flex;
      flex:0 0 auto;
      align-items:center;
      justify-content:center;
      aspect-ratio:4 / 5;
      border-radius:16px;
      padding:12px;
      background:
        linear-gradient(180deg, rgba(234,243,250,.86), rgba(242,231,209,.96));
      box-shadow:
        inset 0 0 0 1px rgba(163,129,94,.16),
        inset 0 12px 22px rgba(255,255,255,.26),
        0 0 0 1px rgba(216,186,139,.08);
      overflow:hidden;
    }
    .popup-album-photo{
      max-width:100%;
      max-height:100%;
      object-fit:contain;
      border-radius:12px;
      box-shadow:
        0 12px 22px rgba(39,27,16,.18),
        0 0 0 1px rgba(255,255,255,.22);
    }
    .popup-album-empty{
      display:flex;
      align-items:center;
      justify-content:center;
      width:100%;
      height:100%;
      border-radius:10px;
      border:1px dashed rgba(156,124,89,.42);
      color:#9b7a56;
      font-size:14px;
      text-align:center;
      padding:18px;
      line-height:1.7;
      background:rgba(255,248,236,.42);
    }
    .popup-album-caption{
      display:block;
      margin-top:12px;
      min-height:28px;
      color:#6a4e33;
      font-size:18px;
      font-weight:700;
    }
    .popup-album-note{
      display:block;
      margin-top:6px;
      min-height:66px;
      color:#8c7256;
      font-size:13px;
      line-height:1.72;
    }
    .popup-album-nav{
      position:absolute;
      top:50%;
      left:-8px;
      right:-8px;
      display:flex;
      justify-content:space-between;
      transform:translateY(-50%);
      pointer-events:none;
      z-index:4;
    }
    .popup-album-nav button{
      pointer-events:auto;
      min-width:142px;
      height:48px;
      padding:0 18px;
      border:none;
      border-radius:999px;
      background:linear-gradient(180deg, rgba(20,44,82,.96), rgba(11,27,53,.96));
      box-shadow:0 16px 24px rgba(6,16,34,.28);
      color:#f7dfa0;
      font-size:15px;
      cursor:pointer;
      transition:transform .2s ease, box-shadow .2s ease;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      letter-spacing:1px;
      white-space:nowrap;
    }
    .popup-album-nav button:hover{
      transform:scale(1.06);
      box-shadow:0 20px 28px rgba(6,16,34,.34);
    }
    .popup-album-nav button .arrow{
      font-size:22px;
      line-height:1;
      margin-top:-1px;
    }
    .popup-album-progress{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      margin-top:18px;
    }
    .popup-album-dot{
      position:relative;
      width:46px;
      height:10px;
      border:none;
      border-radius:999px;
      background:rgba(129,175,226,.22);
      box-shadow:inset 0 0 0 1px rgba(205,230,255,.14);
      cursor:pointer;
      transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
    }
    .popup-album-dot.active{
      background:linear-gradient(90deg, rgba(253,229,165,.92), rgba(123,216,255,.92));
      box-shadow:
        0 0 18px rgba(132,202,255,.2),
        inset 0 0 0 1px rgba(255,255,255,.28);
      transform:scaleX(1.08);
    }
    .popup-album-dot:hover{
      transform:scaleX(1.06);
    }
    .popup-album-footer{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      margin-top:18px;
      flex-wrap:wrap;
    }
    .popup-kc-stagebar strong{
      color:#8d7b43;
      font-weight:600;
    }
    .popup-kc-hotspot{
      position:absolute;
      border:none;
      background:transparent;
      cursor:pointer;
      padding:0;
      z-index:3;
    }
    .popup-kc-hotspot::before{
      content:"";
      position:absolute;
      inset:0;
      border-radius:4px;
      border:1px solid rgba(203,188,120,.86);
      background:
        linear-gradient(180deg, rgba(255,242,186,.12), rgba(255,242,186,0)),
        repeating-linear-gradient(90deg, rgba(218,201,126,.22) 0, rgba(218,201,126,.22) 8px, rgba(0,0,0,0) 8px, rgba(0,0,0,0) 14px),
        repeating-linear-gradient(180deg, rgba(255,255,255,.12) 0, rgba(255,255,255,.12) 1px, rgba(0,0,0,0) 1px, rgba(0,0,0,0) 5px);
      box-shadow:
        inset 0 0 0 1px rgba(78,86,72,.4),
        0 0 0 1px rgba(255,255,255,.03);
      opacity:.22;
      transition:opacity .16s ease, transform .16s ease, border-color .16s ease;
      animation:kcFrameBlink 1.35s steps(2,end) infinite, kcScanMove 2.6s linear infinite;
    }
    .popup-kc-hotspot::after{
      content:"";
      position:absolute;
      top:6px;
      right:6px;
      width:10px;
      height:10px;
      border-radius:2px;
      background:linear-gradient(180deg, rgba(255,241,182,.98), rgba(219,181,88,.96));
      border:1px solid rgba(62,72,49,.62);
      box-shadow:
        0 0 0 1px rgba(255,255,255,.08),
        0 0 10px rgba(240,220,130,.2);
      animation:kcLampBlink 1.4s steps(2,end) infinite;
    }
    .popup-kc-hotspot:hover::before,
    .popup-kc-hotspot.active::before{
      opacity:.96;
      transform:scale(1.01);
      border-color:rgba(255,238,180,.96);
    }
    .popup-kc-hotspot:hover::after,
    .popup-kc-hotspot.active::after{
      box-shadow:
        0 0 0 1px rgba(255,255,255,.1),
        0 0 14px rgba(240,220,130,.28);
    }
    .popup-kc-hotspot-label{
      position:absolute;
      left:50%;
      bottom:calc(100% + 10px);
      transform:translateX(-50%);
      display:inline-flex;
      align-items:center;
      height:24px;
      padding:0 10px;
      border-radius:3px;
      background:linear-gradient(180deg, rgba(109,122,112,.94), rgba(78,93,95,.96));
      border:1px solid rgba(199,196,165,.36);
      color:#f7efc7;
      font-size:11px;
      letter-spacing:.8px;
      white-space:nowrap;
      box-shadow:0 8px 14px rgba(0,0,0,.16);
    }
    .popup-kc-panel{
      display:flex;
      flex-direction:column;
      gap:0;
      min-height:0;
      padding:0;
      border-radius:10px;
      background:
        linear-gradient(180deg, rgba(191,199,196,.96), rgba(170,180,178,.96) 46px, rgba(243,246,243,.99) 46px, rgba(228,233,229,.995));
      border:1px solid rgba(160,171,162,.24);
      box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.28),
        0 14px 24px rgba(0,0,0,.14);
      overflow:hidden;
    }
    .popup-kc-panel-meta{
      padding:14px 16px 6px;
      color:#f7faf5;
      font-size:12px;
      letter-spacing:1.2px;
      text-transform:uppercase;
      line-height:1.2;
      border-bottom:1px solid rgba(145,158,150,.14);
    }
    .popup-kc-panel-title{
      margin:0;
      padding:14px 16px 16px;
      font-size:24px;
      color:#354145;
      line-height:1.18;
      background:linear-gradient(180deg, rgba(250,251,249,.98), rgba(242,246,243,.96));
    }
    .popup-kc-panel-desc{
      padding:14px 16px 0;
      color:#586666;
      font-size:14px;
      line-height:1.75;
      border-top:1px solid rgba(145,158,150,.12);
    }
    .popup-kc-panel.is-idle .popup-kc-panel-title{
      font-size:24px;
      color:#364244;
    }
    .popup-kc-placeholder{
      display:flex;
      flex-direction:column;
      gap:10px;
      margin:12px 16px 16px;
    }
    .popup-kc-placeholder-item{
      display:flex;
      align-items:flex-start;
      gap:10px;
      padding:12px 12px 10px;
      border-radius:4px;
      background:linear-gradient(180deg, rgba(255,255,255,.52), rgba(244,246,244,.26));
      border:1px solid rgba(170,181,173,.2);
    }
    .popup-kc-placeholder-key{
      flex:0 0 auto;
      min-width:58px;
      height:24px;
      padding:0 8px;
      border-radius:3px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:linear-gradient(180deg, rgba(132,144,134,.9), rgba(100,115,117,.94));
      color:#f6e8b1;
      font-size:11px;
      letter-spacing:.6px;
    }
    .popup-kc-placeholder-body{
      color:#5b6a69;
      font-size:13px;
      line-height:1.7;
    }
    .popup-kc-list{
      display:flex;
      flex-direction:column;
      flex:1 1 auto;
      gap:10px;
      margin:12px 16px 16px;
      min-height:0;
      overflow:auto;
    }
    .popup-kc-gallery{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:8px;
      margin:12px 16px 10px;
    }
    .popup-kc-shipcard{
      display:flex;
      flex-direction:column;
      overflow:hidden;
      border-radius:4px;
      background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(243,246,243,.46));
      border:1px solid rgba(170,181,173,.22);
      box-shadow:0 8px 14px rgba(24,33,35,.08);
    }
    .popup-kc-shipcard-illust{
      position:relative;
      aspect-ratio:4 / 5;
      overflow:hidden;
      background:
        linear-gradient(180deg, rgba(214,223,221,.94), rgba(240,244,242,.96));
    }
    .popup-kc-shipcard-illust::after{
      content:"";
      position:absolute;
      inset:auto 0 0 0;
      height:34%;
      background:linear-gradient(180deg, rgba(244,247,244,0), rgba(244,247,244,.96));
      pointer-events:none;
    }
    .popup-kc-shipcard-illust img{
      width:100%;
      height:100%;
      object-fit:contain;
      object-position:center center;
      display:block;
    }
    .popup-kc-shipcard-fallback{
      position:absolute;
      inset:0;
      display:flex;
      align-items:flex-end;
      justify-content:flex-start;
      padding:12px;
      background:
        linear-gradient(145deg, rgba(145,161,160,.76), rgba(205,214,211,.36)),
        repeating-linear-gradient(180deg, rgba(255,255,255,.12) 0, rgba(255,255,255,.12) 1px, rgba(0,0,0,0) 1px, rgba(0,0,0,0) 5px);
      color:#4d5b5e;
      font-size:12px;
      letter-spacing:.6px;
      line-height:1.6;
    }
    .popup-kc-shipcard-body{
      padding:8px 9px 10px;
    }
    .popup-kc-shipcard-name{
      color:#344044;
      font-size:14px;
      font-weight:700;
      line-height:1.35;
    }
    .popup-kc-gallery-pager{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
      margin:0 16px 16px;
      margin-top:auto;
    }
    .popup-kc-gallery-nav{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:76px;
      height:28px;
      padding:0 10px;
      border:none;
      border-radius:3px;
      background:linear-gradient(180deg, rgba(135,149,140,.92), rgba(101,116,118,.96));
      color:#f4e5b8;
      font-size:12px;
      letter-spacing:.6px;
      cursor:pointer;
    }
    .popup-kc-gallery-nav:disabled{
      opacity:.45;
      cursor:default;
    }
    .popup-kc-gallery-indicator{
      flex:1 1 auto;
      text-align:center;
      color:#6a7977;
      font-size:12px;
      letter-spacing:.6px;
    }
    .popup-kc-list-item{
      display:flex;
      align-items:flex-start;
      gap:10px;
      padding:12px 12px 10px;
      border-radius:4px;
      background:linear-gradient(180deg, rgba(255,255,255,.58), rgba(245,247,245,.34));
      border:1px solid rgba(170,181,173,.2);
    }
    .popup-kc-rank{
      flex:0 0 auto;
      width:28px;
      height:28px;
      border-radius:50%;
      display:flex;
      align-items:center;
      justify-content:center;
      background:linear-gradient(180deg, rgba(255,232,176,.22), rgba(111,192,255,.14));
      color:#f6e3ab;
      font-size:12px;
      font-weight:700;
    }
    .popup-kc-ship{
      color:#344044;
      font-size:16px;
      font-weight:700;
      line-height:1.3;
    }
    .popup-kc-ship-note{
      color:#61716f;
      font-size:12px;
      line-height:1.65;
      margin-top:2px;
    }
    .popup-kc-footer{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      margin-top:16px;
      flex-wrap:wrap;
    }
    .popup-kc-hint{
      flex:1 1 320px;
      padding:12px 14px;
      border-radius:4px;
      background:linear-gradient(180deg, rgba(255,255,255,.64), rgba(244,246,244,.38));
      border:1px solid rgba(170,181,173,.2);
      color:#5b6968;
      font-size:13px;
      line-height:1.7;
    }
    .popup-kc-close{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:132px;
      margin-left:auto;
      height:42px;
      padding:0 18px;
      border:1px solid rgba(193,199,180,.22);
      border-radius:4px;
      background:linear-gradient(180deg, rgba(149,164,159,.96), rgba(111,126,127,.98));
      box-shadow:0 8px 14px rgba(8,18,39,.14);
      color:#f3e2b6;
      font-size:14px;
      letter-spacing:.8px;
      cursor:pointer;
      transition:transform .2s ease, box-shadow .2s ease;
    }
    .popup-kc-close:hover{
      transform:translateY(-1px);
      box-shadow:0 12px 18px rgba(8,18,39,.18);
    }
    @keyframes kcPulse{
      0%,100%{transform:scale(.96);opacity:.84;}
      50%{transform:scale(1.08);opacity:1;}
    }
    @keyframes kcFrameBlink{
      0%,100%{opacity:.18;}
      50%{opacity:.52;}
    }
    @keyframes kcLampBlink{
      0%,100%{opacity:.72;}
      50%{opacity:1;}
    }
    @keyframes kcScanMove{
      0%{background-position:0 0,0 0,0 0;}
      100%{background-position:0 0,28px 0,0 22px;}
    }
    @media (max-width: 700px){
      #popup-box.popup-desk{width:94%;max-width:94%;}
      .popup-desk-shell{padding:18px 16px 16px;border-radius:22px;}
      .popup-desk-shell::before{inset:12px;border-radius:18px;}
      .popup-desk-main{grid-template-columns:1fr;gap:18px;}
      .popup-desk-visual{padding:14px 14px 52px;transform:none;}
      .popup-desk-series-jp{font-size:28px;}
      .popup-desk-series-inline span{font-size:24px;}
      .popup-desk-title{font-size:28px;}
      .popup-desk-quote{font-size:14px;line-height:1.75;}
      .popup-desk-lead{font-size:14px;line-height:1.85;}
      .popup-desk-stats{grid-template-columns:1fr;gap:10px;}
      .popup-desk-sidecard-swatches{
        position:relative;
        left:auto;
        right:auto;
        top:auto;
        bottom:auto;
        width:auto;
        margin-top:12px;
        transform:none;
      }
      .popup-desk-memo-anchor{
        top:124px;
        right:92px;
      }
      .popup-desk-sidecard-pencil{
        left:auto;
        right:-14px;
        top:calc(100% + 8px);
        width:min(220px, calc(100vw - 110px));
        margin-top:0;
        padding:12px 14px 11px;
      }
      .popup-desk-notes{grid-template-columns:1fr;gap:14px;margin-top:18px;}
      .popup-desk-note h3{font-size:20px;}
      .popup-desk-footer{display:flex;flex-direction:column;align-items:center;gap:12px;padding:14px 0 14px;}
      .popup-desk-footer-text{flex:0 1 auto;}
      .popup-desk-close{width:min(100%,240px);min-width:0;height:44px;align-self:center;}
      .popup-card2-title{font-size:24px;}
      .popup-card2-lead{font-size:15px;margin-bottom:14px;}
      .popup-card2-frame{border-radius:14px;}
      .popup-card2-frame iframe{height:56vh;}
      .popup-gallery-shell{padding:22px 14px 18px;border-radius:22px;}
      .popup-gallery-title{font-size:26px;}
      .popup-gallery-lead{font-size:14px;margin-bottom:16px;}
      .popup-gallery-main{grid-template-columns:1fr;gap:16px;}
      .popup-gallery-stage{aspect-ratio:3 / 4;min-height:0;border-radius:20px;padding:14px;}
      .popup-gallery-panel{padding:14px;border-radius:18px;}
      .popup-gallery-panel h3{font-size:22px;}
      .popup-gallery-actions{justify-content:center;}
      .popup-gallery-exit{width:100%;min-width:0;height:44px;}
      .popup-gallery-strip{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
      }
      .popup-gallery-thumb{min-height:92px;padding:10px;}
      .popup-album-shell{padding:22px 14px 18px;border-radius:22px;}
      .popup-album-title{font-size:26px;}
      .popup-album-lead{font-size:14px;margin-top:10px;}
      .popup-album-book{margin-top:18px;padding:0;}
      .popup-album-sheet{min-height:0;padding:18px 14px 16px;border-radius:22px;}
      .popup-album-sheet::before{left:18px;top:14px;bottom:14px;width:14px;}
      .popup-album-page-header,
      .popup-album-page-title,
      .popup-album-page-note{padding-left:24px;}
      .popup-album-page-title{font-size:22px;}
      .popup-album-grid{grid-template-columns:1fr;gap:16px;padding:0 0 0 24px;}
      .popup-album-card,
      .popup-album-card:hover{transform:none;}
      .popup-album-nav{
        position:static;
        transform:none;
        justify-content:center;
        gap:14px;
        margin:14px 0 0;
      }
      .popup-album-nav button{min-width:0;flex:1 1 0;padding:0 14px;}
      .popup-album-progress{margin-top:14px;}
      .popup-album-footer{
        flex-direction:column;
        align-items:stretch;
        gap:12px;
        margin-top:14px;
        padding-bottom:10px;
      }
      .popup-album-hint{
        flex:0 1 auto;
        min-height:0;
        padding:12px 14px;
        font-size:12px;
        line-height:1.7;
        border-radius:14px;
      }
      .popup-album-exit{width:100%;min-width:0;height:44px;}
      #popup-box.popup-kc{width:96%;max-width:96%;}
      .popup-kc-shell{padding:20px 12px 16px;border-radius:20px;}
      .popup-kc-title{font-size:26px;}
      .popup-kc-lead{font-size:14px;}
      .popup-kc-main{grid-template-columns:1fr;gap:16px;}
      .popup-kc-stage{border-radius:16px;}
      .popup-kc-stagebar{flex-direction:column;align-items:flex-start;padding:10px 12px;}
      .popup-kc-panel{padding:14px;border-radius:16px;}
      .popup-kc-panel-title{font-size:22px;}
      .popup-kc-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
      .popup-kc-gallery-pager{margin:0 16px 16px;}
      .popup-kc-hotspot-label{
        left:6px;
        top:6px;
        bottom:auto;
        transform:none;
        max-width:calc(100% - 12px);
        height:22px;
        padding:0 7px;
        font-size:10px;
        overflow:hidden;
        text-overflow:ellipsis;
      }
      .popup-kc-footer{flex-direction:column;align-items:stretch;gap:12px;}
      .popup-kc-hint{
        flex:0 1 auto;
        padding:12px 14px;
        font-size:12px;
        line-height:1.7;
      }
      .popup-kc-close{width:100%;min-width:0;height:44px;}
    }

    #ann_added_frame{display:flex;gap:20px;justify-content:center;padding:18px 0;}

    #imgbox{
      position:fixed;inset:0;width:100%;height:100%;z-index:20000;
      background:rgba(0,0,0,.82);
      display:flex;align-items:center;justify-content:center;
      opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s;
    }
    #imgbox.show{opacity:1;visibility:visible;pointer-events:auto;}
    #imgbox-img{max-width:90vw;max-height:90vh;border-radius:8px;box-shadow:0 0 12px rgba(0,0,0,.6);}

    /* mobile: allow horizontal swipe on cards */
    @media (max-width: 900px){
      #frame_turn{width:100% !important;animation:none !important;-webkit-animation:none !important;}
      #Frame{
        width:calc(100vw - 16px) !important;
        max-width:1040px;
        margin-top:56px;
      }
      .cards-wrap{
        overflow-x:auto;
        overflow-y:hidden;
        -webkit-overflow-scrolling:touch;
        touch-action:pan-x;
        scrollbar-width:none;
      }
      .cards-wrap::-webkit-scrollbar{display:none;}
      ul.cards{
        width:max-content;
        justify-content:flex-start;
        padding-right:8px;
        scroll-snap-type:x proximity;
      }
      .choose_card{scroll-snap-align:start;}
    }
