/* SHOCKER v159 — Imperial chain dossiers */
:root {
    --v159-ink:#07090a;
    --v159-paper:#e7d8ae;
    --v159-gold:#d8b760;
    --v159-gold-pale:#f3dea0;
    --v159-crimson:#8e1728;
    --v159-cyan:#4da9a2;
}

/* v128 hid the original labels globally.  The late v159 rule restores them as controls. */
#home-screen.v62-shocker-home .v62-mechanics,
#home-screen.v62-shocker-home.v158-imperial-court .v62-mechanics {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px !important;
    width:min(100%,520px);
    margin-top:14px !important;
    position:relative;
    z-index:20;
}
#home-screen.v62-shocker-home .v159-guide-trigger.v62-mechanic {
    appearance:none;
    -webkit-appearance:none;
    min-width:0;
    min-height:44px;
    margin:0;
    padding:7px 8px 7px 7px !important;
    display:grid !important;
    grid-template-columns:27px minmax(0,1fr) 8px;
    align-items:center;
    gap:7px !important;
    border:1px solid rgba(225,193,111,.38) !important;
    border-radius:2px;
    color:#d7c89e;
    background:
        linear-gradient(135deg,rgba(151,24,42,.2),transparent 43%),
        linear-gradient(112deg,rgba(21,19,17,.96),rgba(3,8,9,.98)) !important;
    box-shadow:inset 0 0 0 1px rgba(255,244,207,.025),inset 3px 0 rgba(141,23,40,.62),0 5px 14px rgba(0,0,0,.34) !important;
    text-align:left;
    cursor:pointer;
    isolation:isolate;
    overflow:hidden;
    transform:translateZ(0);
    transition:border-color .18s ease,filter .18s ease,transform .18s ease,box-shadow .18s ease;
}
#home-screen.v62-shocker-home .v159-guide-trigger.v62-mechanic::before {
    content:"";
    position:absolute;
    inset:3px;
    z-index:-1;
    border:1px solid rgba(226,195,117,.09);
    pointer-events:none;
}
#home-screen.v62-shocker-home .v159-guide-trigger.v62-mechanic::after {
    content:"";
    position:absolute;
    top:-120%;
    bottom:-120%;
    left:-36%;
    width:22%;
    z-index:-1;
    background:linear-gradient(90deg,transparent,rgba(255,237,180,.13),transparent);
    rotate:16deg;
    transition:left .45s ease;
    pointer-events:none;
}
#home-screen.v62-shocker-home .v159-guide-trigger.v62-mechanic:hover,
#home-screen.v62-shocker-home .v159-guide-trigger.v62-mechanic:focus-visible {
    border-color:rgba(250,220,139,.88) !important;
    filter:brightness(1.14);
    transform:translateY(-2px);
    box-shadow:inset 0 0 0 1px rgba(255,244,207,.06),inset 3px 0 #b9243b,0 9px 20px rgba(0,0,0,.5),0 0 19px rgba(216,183,96,.1) !important;
    outline:none;
}
#home-screen.v62-shocker-home .v159-guide-trigger.v62-mechanic:hover::after,
#home-screen.v62-shocker-home .v159-guide-trigger.v62-mechanic:focus-visible::after { left:116%; }
.v159-guide-trigger-sigil {
    width:27px;
    height:32px;
    display:grid;
    place-items:center;
    border:1px solid rgba(233,204,129,.58);
    border-radius:4px;
    color:#f1d784;
    background:linear-gradient(145deg,#271116,#080b0c 62%);
    box-shadow:inset 0 0 0 2px #080808,0 2px 5px #000;
    font:900 13px/1 Georgia,serif;
    rotate:-4deg;
}
.v159-guide-trigger[data-v159-guide="bomb"] .v159-guide-trigger-sigil { color:#f18c71; }
.v159-guide-trigger[data-v159-guide="joker"] .v159-guide-trigger-sigil { color:#79c9bf; }
.v159-guide-trigger-copy { min-width:0; display:block; }
#home-screen.v62-shocker-home .v159-guide-trigger-copy strong {
    display:block;
    overflow:hidden;
    color:#f4dda0 !important;
    font:800 8px/1 "Courier New",monospace !important;
    letter-spacing:.12em;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.v159-guide-trigger-copy em {
    display:block;
    margin-top:4px;
    overflow:hidden;
    color:#bcb18f;
    font:700 9px/1 "Yu Mincho","Hiragino Mincho ProN",serif;
    font-style:normal;
    letter-spacing:.08em;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.v159-guide-trigger-arrow {
    color:rgba(238,210,139,.66);
    font:700 14px/1 Georgia,serif;
    translate:0 -1px;
}

body.v159-guide-open { overflow:hidden !important; }
#v159-chain-guide[hidden] { display:none !important; }
#v159-chain-guide {
    position:fixed;
    inset:0;
    z-index:100080;
    display:grid;
    place-items:center;
    padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
    background:
        radial-gradient(circle at 50% 35%,rgba(123,20,35,.25),transparent 38%),
        rgba(1,4,5,.88);
    backdrop-filter:blur(8px) saturate(.75);
    -webkit-backdrop-filter:blur(8px) saturate(.75);
}
.v159-guide-dialog {
    --v159-theme:#a82037;
    position:relative;
    width:min(1080px,96vw);
    max-height:min(880px,calc(100dvh - 24px));
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    overflow:hidden;
    color:#e9dcb8;
    border:1px solid rgba(237,204,121,.58);
    border-radius:4px;
    background:
        linear-gradient(118deg,rgba(151,25,43,.12),transparent 31%),
        repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 4px),
        linear-gradient(145deg,#161414,#06090a 56%,#0a1112);
    box-shadow:inset 0 0 0 4px #050708,inset 0 0 0 5px rgba(218,183,96,.18),0 30px 90px rgba(0,0,0,.82),0 0 52px rgba(139,22,39,.14);
    animation:v159-dossier-enter .26s cubic-bezier(.2,.8,.2,1) both;
}
.v159-guide-dialog[data-guide="bomb"] { --v159-theme:#c04c34; }
.v159-guide-dialog[data-guide="joker"] { --v159-theme:#3b9b92; }
.v159-guide-dialog::before,
.v159-guide-dialog::after {
    content:"";
    position:absolute;
    z-index:8;
    pointer-events:none;
}
.v159-guide-dialog::before {
    inset:9px;
    border:1px solid rgba(229,199,124,.14);
    clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px));
}
.v159-guide-dialog::after {
    top:0;
    left:0;
    width:35%;
    height:3px;
    background:linear-gradient(90deg,var(--v159-theme),#e0bd65,transparent);
    box-shadow:0 0 15px color-mix(in srgb,var(--v159-theme) 42%,transparent);
}
.v159-guide-head {
    position:relative;
    z-index:9;
    min-height:76px;
    display:grid;
    grid-template-columns:58px minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    padding:16px 20px 13px;
    border-bottom:1px solid rgba(226,193,111,.24);
    background:linear-gradient(90deg,rgba(133,21,38,.18),rgba(0,0,0,.18) 54%,rgba(61,122,118,.08));
}
.v159-guide-seal {
    position:relative;
    width:50px;
    aspect-ratio:1;
    display:grid;
    place-items:center;
    color:#f0d88e;
    border:1px solid rgba(240,211,134,.67);
    border-radius:50%;
    background:radial-gradient(circle,#27191a 0 42%,#851729 43% 56%,#090c0d 57%);
    box-shadow:inset 0 0 0 3px #080a0b,0 0 0 1px rgba(181,41,60,.65),0 5px 14px #000;
    font:900 19px/1 Georgia,serif;
}
.v159-guide-seal::before,.v159-guide-seal::after {
    content:"";
    position:absolute;
    background:#ddbd6c;
    opacity:.68;
}
.v159-guide-seal::before { width:64%; height:1px; }
.v159-guide-seal::after { width:1px; height:64%; }
.v159-guide-heading { min-width:0; }
.v159-guide-kicker {
    color:#bca971;
    font:700 8px/1 "Courier New",monospace;
    letter-spacing:.24em;
}
#v159-chain-guide-title {
    margin:7px 0 0;
    color:#f4e5b8;
    font:800 clamp(20px,3vw,33px)/1 "Yu Mincho","Hiragino Mincho ProN",Georgia,serif;
    letter-spacing:.08em;
    text-shadow:0 3px 9px #000;
}
.v159-guide-close {
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid rgba(228,198,120,.42);
    border-radius:2px;
    color:#e4cc89;
    background:#0c0e0f;
    font:400 25px/1 Georgia,serif;
    cursor:pointer;
    transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.v159-guide-close:hover,.v159-guide-close:focus-visible {
    border-color:#f0d17c;
    color:#fff0b6;
    background:#33131a;
    outline:none;
    transform:rotate(4deg);
}
.v159-guide-body {
    min-height:0;
    overflow:auto;
    overscroll-behavior:contain;
    scrollbar-color:#8c2637 #080b0c;
    scrollbar-width:thin;
    padding:18px 20px 17px;
}
.v159-guide-panel[hidden] { display:none !important; }
.v159-guide-panel {
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(250px,.72fr);
    gap:18px;
    align-items:start;
    animation:v159-panel-reveal .22s ease both;
}
.v159-guide-visual {
    position:relative;
    min-width:0;
    overflow:hidden;
    border:1px solid rgba(224,192,111,.35);
    border-radius:3px;
    background:#090c0d;
    box-shadow:inset 0 0 0 4px #030506,0 12px 28px rgba(0,0,0,.42);
}
.v159-guide-visual::after {
    content:"IMPERIAL TACTICAL ARCHIVE";
    position:absolute;
    right:12px;
    bottom:8px;
    color:rgba(240,215,147,.34);
    font:700 7px/1 "Courier New",monospace;
    letter-spacing:.19em;
    pointer-events:none;
}
.v159-guide-visual svg { display:block;width:100%;height:auto;max-height:52dvh; }
.v159-guide-notes {
    display:grid;
    gap:9px;
}
.v159-guide-intro {
    margin:0 0 2px;
    color:#d8caa3;
    font:600 12px/1.75 "Yu Mincho","Hiragino Mincho ProN",serif;
    letter-spacing:.035em;
}
.v159-guide-step {
    position:relative;
    min-height:76px;
    padding:12px 12px 11px 47px;
    border:1px solid rgba(224,193,113,.22);
    background:linear-gradient(110deg,rgba(118,21,35,.16),rgba(7,11,12,.84));
    box-shadow:inset 2px 0 var(--v159-theme);
}
.v159-guide-step b {
    position:absolute;
    top:12px;
    left:12px;
    width:25px;
    height:25px;
    display:grid;
    place-items:center;
    border:1px solid rgba(232,204,132,.48);
    color:#ebce7a;
    background:#080a0b;
    font:800 10px/1 Georgia,serif;
}
.v159-guide-step strong {
    display:block;
    margin-bottom:5px;
    color:#f0d990;
    font:800 11px/1.25 "Yu Mincho","Hiragino Mincho ProN",serif;
    letter-spacing:.08em;
}
.v159-guide-step span {
    display:block;
    color:#bdb18f;
    font:600 10px/1.6 "Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;
}
.v159-guide-caution {
    margin:1px 0 0;
    padding:9px 11px;
    border-left:2px solid var(--v159-theme);
    color:#ad9f7c;
    background:rgba(0,0,0,.32);
    font:600 9px/1.6 "Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;
}
.v159-guide-foot {
    position:relative;
    z-index:9;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:16px;
    padding:10px 20px 12px;
    border-top:1px solid rgba(225,193,111,.23);
    background:rgba(2,5,6,.88);
}
.v159-guide-foot-label {
    color:#8f8263;
    font:700 7px/1.2 "Courier New",monospace;
    letter-spacing:.18em;
}
.v159-guide-tabs {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
}
.v159-guide-tab {
    min-height:34px;
    padding:7px 10px;
    border:1px solid rgba(219,187,108,.25);
    border-radius:1px;
    color:#a99b79;
    background:#0a0d0e;
    font:700 9px/1 "Yu Mincho","Hiragino Mincho ProN",serif;
    letter-spacing:.08em;
    cursor:pointer;
}
.v159-guide-tab:hover,.v159-guide-tab:focus-visible {
    color:#f0d990;
    border-color:rgba(237,204,122,.67);
    outline:none;
}
.v159-guide-tab[aria-selected="true"] {
    color:#f5e2a9;
    border-color:rgba(238,205,123,.75);
    background:linear-gradient(100deg,rgba(138,22,39,.72),rgba(26,12,16,.94));
    box-shadow:inset 3px 0 #dfbd66;
}

/* Animated ink strokes inside the generated rule illustrations. */
.v159-svg-flow { stroke-dasharray:12 10; animation:v159-flow 1.5s linear infinite; }
.v159-svg-pulse { transform-box:fill-box;transform-origin:center;animation:v159-pulse 2.2s ease-in-out infinite; }
.v159-svg-fall { animation:v159-fall 2.5s ease-in-out infinite; }
@keyframes v159-dossier-enter { from{opacity:0;transform:translateY(14px) scale(.985)} to{opacity:1;transform:none} }
@keyframes v159-panel-reveal { from{opacity:0;transform:translateX(7px)} to{opacity:1;transform:none} }
@keyframes v159-flow { to{stroke-dashoffset:-44} }
@keyframes v159-pulse { 50%{filter:drop-shadow(0 0 9px rgba(231,194,98,.62));transform:scale(1.025)} }
@keyframes v159-fall { 0%,100%{transform:translateY(0);opacity:.9} 50%{transform:translateY(8px);opacity:.55} }

@media (max-width:760px) {
    #v159-chain-guide { padding:6px; }
    .v159-guide-dialog { width:100%; max-height:calc(100dvh - 12px); }
    .v159-guide-head { min-height:64px;grid-template-columns:43px minmax(0,1fr) 38px;gap:10px;padding:12px 13px 10px; }
    .v159-guide-seal { width:39px;font-size:15px; }
    #v159-chain-guide-title { font-size:clamp(18px,6vw,25px); }
    .v159-guide-body { padding:12px; }
    .v159-guide-panel { grid-template-columns:1fr;gap:12px; }
    .v159-guide-visual svg { max-height:none; }
    .v159-guide-notes { grid-template-columns:1fr; }
    .v159-guide-step { min-height:0; }
    .v159-guide-foot { grid-template-columns:1fr;gap:7px;padding:8px 12px 10px; }
    .v159-guide-foot-label { display:none; }
    #home-screen.v62-shocker-home .v62-mechanics { gap:4px !important;margin-top:8px !important; }
    #home-screen.v62-shocker-home .v159-guide-trigger.v62-mechanic { min-height:36px;padding:5px !important;grid-template-columns:21px minmax(0,1fr);gap:5px !important; }
    .v159-guide-trigger-sigil { width:21px;height:26px;font-size:10px; }
    .v159-guide-trigger-arrow { display:none; }
    #home-screen.v62-shocker-home .v159-guide-trigger-copy strong { font-size:6px !important; }
    .v159-guide-trigger-copy em { font-size:7px; }
}
@media (max-width:420px) {
    .v159-guide-kicker { font-size:6px;letter-spacing:.13em; }
    .v159-guide-tabs { gap:3px; }
    .v159-guide-tab { padding-inline:5px;font-size:8px; }
    .v159-guide-intro { font-size:11px; }
}
@media (max-height:560px) and (min-width:560px) {
    /* v128 used to remove this row; keep a compact, usable archive row instead. */
    #home-screen.v62-shocker-home .v62-mechanics { display:grid !important;margin-top:4px !important;gap:3px !important; }
    #home-screen.v62-shocker-home .v159-guide-trigger.v62-mechanic { min-height:27px;padding:3px 5px !important;grid-template-columns:18px minmax(0,1fr);gap:4px !important; }
    .v159-guide-trigger-sigil { width:18px;height:21px;font-size:8px; }
    .v159-guide-trigger-arrow,.v159-guide-trigger-copy em { display:none; }
    #home-screen.v62-shocker-home .v159-guide-trigger-copy strong { font-size:6px !important; }
    #v159-chain-guide { padding:5px; }
    .v159-guide-dialog { width:min(980px,98vw);max-height:calc(100dvh - 10px);grid-template-rows:auto minmax(0,1fr) auto; }
    .v159-guide-head { min-height:48px;grid-template-columns:34px minmax(0,1fr) 32px;padding:7px 12px; }
    .v159-guide-seal { width:30px;font-size:12px; }
    .v159-guide-kicker { font-size:6px; }
    #v159-chain-guide-title { margin-top:4px;font-size:18px; }
    .v159-guide-close { width:30px;height:30px;font-size:19px; }
    .v159-guide-body { padding:9px 12px; }
    .v159-guide-panel { grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);gap:10px; }
    .v159-guide-visual svg { max-height:calc(100dvh - 128px); }
    .v159-guide-notes { gap:5px; }
    .v159-guide-intro { font-size:9px;line-height:1.45; }
    .v159-guide-step { min-height:0;padding:7px 8px 7px 36px; }
    .v159-guide-step b { top:7px;left:7px;width:21px;height:21px; }
    .v159-guide-step strong { margin-bottom:3px;font-size:9px; }
    .v159-guide-step span { font-size:8px;line-height:1.4; }
    .v159-guide-caution { display:none; }
    .v159-guide-foot { padding:6px 12px 7px; }
    .v159-guide-tab { min-height:27px;padding:5px;font-size:7px; }
}
@media (prefers-reduced-motion:reduce) {
    .v159-guide-dialog,.v159-guide-panel,.v159-svg-flow,.v159-svg-pulse,.v159-svg-fall { animation:none !important; }
    #home-screen.v62-shocker-home .v159-guide-trigger.v62-mechanic,
    #home-screen.v62-shocker-home .v159-guide-trigger.v62-mechanic::after,
    .v159-guide-close { transition:none !important; }
}
