/* Page-specific polish. Sponsor and related banners retain their own styling. */
body.theme-emerald{background:linear-gradient(90deg,#091d24 0%,#16333b 25%,#193941 50%,#16333b 75%,#091d24 100%);background-attachment:fixed}
.sj-bar{background:#10262ded;border-bottom-color:#d9c69b35}
.sj-bar a{color:#d1dedc;border-color:#afc5c03b;border-radius:8px}
.sj-bar .sj-mid{color:#e9d9b4;letter-spacing:.08em}
.sj-hero{background:#102b32}
.sj-hero::after{height:64%;background:linear-gradient(180deg,transparent,#102b3280 38%,#17353d 98%)}
.sj-hero-copy{bottom:7%;padding:0 16px}
.sj-hero-copy h1{font-size:clamp(26px,6.3vw,43px);line-height:1.45;letter-spacing:.07em;text-indent:.07em;color:#f5e5c3;text-shadow:0 3px 6px #031419,0 0 24px #061b22}
.sj-hero-copy p{font-size:12px;line-height:1.65;letter-spacing:.06em;color:#e0e4dc;margin-top:8px}
.sj-hero-copy::after{content:"";display:block;width:160px;height:1px;margin:14px auto 0;background:linear-gradient(90deg,transparent,#e2c894,transparent)}
.sj-wrap,.sj-modal{--sj-gold:#ecd9b2;--sj-sub:#c2d1d0;--sj-ink:#eff2ed;--sj-acc:#b8c9b9;--sj-glow:#b3c9b526;--line2:#bbcfca30}
.sj-wrap{max-width:780px;padding:0 16px 26px}
.sj-lead{margin:20px 2px 14px;font-size:16px;line-height:1.8;color:#dce5e3}
.sj-birth{margin:0 0 22px;padding:8px 16px 13px;border-radius:13px;background:linear-gradient(125deg,#29474d,#1c353e);border-color:#dbc7985c;box-shadow:inset 0 1px #f6e2b817,0 10px 25px #03151c33}
.sj-birth .flabel{color:#ecdfc4;font-size:16px}
.sj-birth select,.sj-birth input:not([type=checkbox]){background:#122c35;color:#f1eee4;border-color:#c3c9b64f;border-radius:7px}
.sj-note{color:#cbd9d6;font-size:14px;line-height:1.7;margin-top:9px}
#sjBoxes{display:grid;gap:12px}
.sj-box{position:relative;margin:0;border-radius:13px;background:linear-gradient(125deg,#2a454e,#203943 68%,#1a313c);border-color:#b9c8be3b;box-shadow:inset 0 1px #fff8e90b,0 8px 22px #04171e33}
.sj-head{padding:8px 13px;font-size:11px;letter-spacing:.12em;background:#10293355;border-color:#d5c39429;color:#d6c49f}
.sj-head i{font-size:7px;color:#d6bb85}
.sj-body{gap:13px;padding:13px 14px 10px;align-items:center}
.sj-fig{flex-basis:76px}
.sj-fig img{width:76px;height:98px;border:0;border-radius:38% 38% 10px 10px;filter:none;mask-image:linear-gradient(#000 78%,transparent);-webkit-mask-image:linear-gradient(#000 78%,transparent)}
.sj-fig em{bottom:0;font-size:10px;color:#f3e4c3}
.sj-txt h3{font-size:20px;line-height:1.4;letter-spacing:.06em;margin-bottom:5px;color:#f0e2c3;text-shadow:0 2px 5px #071b25}
.sj-txt p{font-size:16px;line-height:1.8;color:#dce5e3}
.sj-go{width:calc(100% - 28px);max-width:none;min-height:46px;margin:0 14px 13px;padding:10px 14px;background:linear-gradient(135deg,#486368,#324f59);border-color:#d5c39888;border-radius:8px;letter-spacing:.14em;text-indent:.14em;color:#fff0ce;box-shadow:inset 0 1px #f6e5bf22,0 4px 12px #071b2540;transition:box-shadow .25s,filter .25s,transform .15s}
.sj-go:hover,.sj-go:focus-visible{background:linear-gradient(135deg,#526e70,#3b5862);box-shadow:0 0 20px #d4bd8538;outline:2px solid #d6be8677;outline-offset:2px}
.sj-go:active{transform:scale(.98);filter:brightness(1.12)}
.sj-hint{color:#b7c9c7;margin:-5px 12px 10px}
.sj-wrap .rv{opacity:1;transform:none;transition:none}
.sj-win{background:linear-gradient(145deg,#223e47,#152e38);border-color:#d4c09566;box-shadow:0 30px 90px #0009,0 0 35px #b5c2ac15}
.sj-veil{background:#04131bcc}
.sj-win-bar,.sj-win-foot{background:#102833;border-color:#ccbc982e}
.sj-win-bar b{font-size:18px;letter-spacing:.06em}
.sj-x{width:44px;height:44px;color:#e9dcc0;border-color:#c8c1a644}
.sj-close,.t1-full{background:#354f59;border-color:#c8b78f77;color:#f3e4c4;letter-spacing:.1em}
.sj-win-body{color:#e3e9e4;line-height:1.85;--kin:#d4bf90;--kin-l:#f1e2bc;--sumi:#162e37}
.sj-win-body .card{background:#1b3540;border-color:#b9c7bc3d;box-shadow:none}
.sj-win-body .reading-guide{background:#2b4650;border-color:#b9c7bc3d}
.sj-win-body .reading-guide-copy>span{color:#d3ddda}
/* The expanding halo is decorative; keep it inside the rank, not the scroll area. */
.sj-win-body .fortune-rank{overflow:hidden}
@media(min-width:700px){#sjBoxes{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sj-box{display:flex;flex-direction:column}.sj-body{flex:1}.sj-hero-copy{bottom:8%}.sj-lead{max-width:650px;margin:22px auto 16px}}
@media(prefers-reduced-motion:reduce){.sj-go{transition:none}}
.sj-win-body .reading-guide-copy b{color:#f3e3bf}.sj-win-body .reading-guide-copy small{color:#d8c7a5}.sj-win-body .pillar{background:linear-gradient(150deg,#294950,#1b353f);border-color:#c1cbbb3b}.sj-win-body .kan{filter:brightness(1.65) saturate(.72)}

.sj-fig img{object-position:50% 18%}
.sj-win-bar img{object-position:50% 15%;filter:none}
.sj-win-body .reading-guide-portrait{background:#172f3b}
.sj-win-body .reading-guide-portrait img{position:static;width:100%;height:100%;min-height:120px;object-fit:cover;object-position:50% 15%;transform:none;filter:none}
.sj-box[data-k="council"] .sj-fig img{object-position:50% 50%;border-radius:10px;mask-image:none;-webkit-mask-image:none}
