/* Gist Compound v1.19 · Family Stories */
.st-shell{max-width:760px;margin:12px auto 40px;padding:0 4px;color:#fff0d7}
.st-shell h1{font-family:Georgia,serif;font-size:clamp(1.7rem,6vw,2.4rem);line-height:1.1;margin:4px 0 10px;color:#fff6e7}
.st-lead{color:#efd5b3;line-height:1.55;margin:0 0 14px}
.st-h2{font-family:Georgia,serif;font-size:1.45rem;margin:28px 0 2px;color:#fff6e7}
.st-sub{color:#cfae8a;font-size:.9rem;margin:0 0 12px}
.st-btn{appearance:none;border:0;border-radius:16px;padding:12px 18px;font:inherit;font-weight:900;font-size:.98rem;cursor:pointer;background:linear-gradient(180deg,#ffd06a,#f5a531);color:#2b160b;box-shadow:0 4px 0 #b86d16,0 10px 22px #0006;transition:transform .12s}
.st-btn:active{transform:translateY(3px);box-shadow:0 1px 0 #b86d16}
.st-ghost{background:#fff1d9;box-shadow:0 4px 0 #b99a76,0 10px 22px #0005}
.st-link{appearance:none;background:none;border:0;color:#e9c690;text-decoration:underline;font:inherit;font-size:.86rem;cursor:pointer;padding:10px 4px}
.st-daily{background:linear-gradient(90deg,#3c2a12,#2a1d14);border:1px solid #c79a4f;border-radius:16px;padding:12px 14px;margin:0 0 16px;font-size:.94rem}
.st-daily.st-claimed{border-color:#5d7c4f;background:#1f2a1c}
.st-seasons{display:grid;gap:14px}
.st-season{display:grid;grid-template-columns:120px 1fr;background:#2b1c16;border:1px solid #7a5238;border-radius:20px;overflow:hidden;box-shadow:0 12px 30px #0007}
.st-season.st-locked{filter:saturate(.35);opacity:.78}
.st-season-art{position:relative;background:linear-gradient(160deg,var(--st-c1,#7b2d26),var(--st-c2,#2b160f));display:flex;align-items:flex-end;justify-content:center;min-height:150px}
.st-season-art img{width:100%;height:100%;object-fit:cover;object-position:top;position:absolute;inset:0}
.st-season-icon{position:relative;z-index:1;font-size:1.6rem;background:#1b110dcc;border-radius:12px;padding:3px 7px;margin:8px;align-self:flex-start;justify-self:flex-start}
.st-season-art .st-season-icon{position:absolute;top:0;left:0}
.st-season-body{padding:14px 14px 16px}
.st-season-body h3{font-family:Georgia,serif;font-size:1.3rem;margin:2px 0 4px;color:#fff6e7}
.st-season-body p{margin:0 0 10px;color:#e6c9a6;font-size:.9rem;line-height:1.4}
.st-season-body small{display:block;color:#d8b78f;margin:6px 0 10px;font-size:.82rem}
.st-bar{height:8px;border-radius:9px;background:#140d0a;overflow:hidden}
.st-bar i{display:block;height:100%;background:linear-gradient(90deg,#f5a531,#ffd979);border-radius:9px}
.st-album{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.st-keep{background:#241712;border:1px dashed #7a5238;border-radius:16px;padding:10px 6px;text-align:center}
.st-keep span{font-size:1.9rem;display:block}
.st-keep small{display:block;font-size:.7rem;color:#bf9c78;line-height:1.25;margin-top:4px}
.st-keep.st-has{border-style:solid;border-color:#f3be5a;background:linear-gradient(180deg,#3e2914,#241712)}
.st-keep.st-has small{color:#ffe2a6}
.st-famgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:8px}
.st-fam{background:#261813;border:1px solid #5e3f2d;border-radius:14px;padding:8px;text-align:center}
.st-fam img{width:54px;height:54px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid #f3be5a;background:#3b261b}
.st-fam b{display:block;font-size:.78rem;margin-top:4px;color:#fff1da}
.st-fam span{color:#ff7d74;font-size:.82rem;letter-spacing:1px}
.st-soonrow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.st-soon{background:#1f1511;border:1px dashed #6b4935;border-radius:14px;padding:10px 8px;text-align:center}
.st-soon span{font-size:1.5rem;display:block}.st-soon b{display:block;font-size:.8rem;margin:2px 0}.st-soon small{color:#b99573;font-size:.7rem}
/* season page */
.st-shero{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:end;background:linear-gradient(150deg,var(--st-c1),var(--st-c2));border-radius:22px;padding:14px 16px 16px;margin:6px 0 16px;border:1px solid #d6a45a66;overflow:hidden}
.st-shero img{width:120px;height:170px;object-fit:cover;object-position:top;border-radius:16px;background:#0003}
.st-shero h1{margin:4px 0 6px}
.st-shero p{margin:0 0 8px;color:#fff0dc;line-height:1.45;font-size:.92rem}
.st-shero small{color:#ffe0ad}
.st-shero .st-season-icon{position:static;display:inline-block;margin:0}
.st-verdictbox{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#2f2213;border:1px solid #f3be5a;border-radius:16px;padding:12px 14px;margin-bottom:14px}
.st-day h3{font-family:Georgia,serif;color:#ffd68b;margin:18px 0 8px;font-size:1.1rem}
.st-ch{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;width:100%;text-align:left;background:#2a1b15;border:1px solid #5e3f2d;border-radius:16px;padding:10px 12px;margin:0 0 8px;color:#fff0d7;font:inherit;cursor:pointer}
.st-ch:disabled{opacity:.5;cursor:not-allowed}
.st-chnext{border-color:#f3be5a;box-shadow:0 0 0 2px #f3be5a33,0 8px 20px #0006;background:linear-gradient(90deg,#3b2615,#2a1b15)}
.st-chnum{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:#140d0a;color:#ffd68b;border:1px solid #7a5238}
.st-chdone .st-chnum{background:#2e5a3d;color:#e6ffe9;border-color:#5fbf7f}
.st-chtxt b{display:block;font-size:.98rem}.st-chtxt small{display:block;color:#cfae8a;font-size:.8rem;line-height:1.3;margin-top:2px}
.st-chpts{font-weight:900;color:#ffd68b;font-size:.85rem;white-space:nowrap}
/* chapter player */
.st-thread{display:flex;flex-direction:column;gap:10px;margin:10px 0 14px}
.st-msg{display:flex;gap:9px;align-items:flex-end;max-width:92%}
.st-msg.st-you{flex-direction:row-reverse;align-self:flex-end}
.st-face{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid #f3be5a;background:#3b261b;flex:none}
.st-bub{background:#fff4e0;color:#2b160b;border-radius:18px 18px 18px 6px;padding:9px 13px;box-shadow:0 6px 16px #0005;line-height:1.4}
.st-you .st-bub{background:#f6b23c;border-radius:18px 18px 6px 18px}
.st-bub b{display:block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#a0522d;margin-bottom:2px}
.st-you .st-bub b{color:#5a2a06}
.st-bub span{font-size:.98rem}
.st-new{animation:stPop .35s ease-out}
@keyframes stPop{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.st-note{align-self:center;background:#1f2a1c;border:1px solid #5d7c4f;color:#dff3d2;border-radius:14px;padding:8px 12px;font-size:.88rem;max-width:94%}
.st-act{display:flex;flex-direction:column;align-items:center;gap:8px;margin:6px 0}
.st-next{min-width:220px}
.st-ask{background:#2b1c16;border:1px solid #c79a4f;border-radius:20px;padding:14px;margin:8px 0;box-shadow:0 12px 26px #0007}
.st-ask p{font-family:Georgia,serif;font-size:1.12rem;line-height:1.35;margin:4px 0 12px;color:#fff6e7}
.st-opts{display:grid;gap:9px}
.st-opt{appearance:none;text-align:left;border:1px solid #8a5f40;background:#3a271e;color:#fff1da;border-radius:14px;padding:12px 14px;font:inherit;font-weight:700;cursor:pointer;line-height:1.35}
.st-opt:hover:not(:disabled){border-color:#f3be5a;background:#46301f}
.st-opt.st-right{background:#2e5a3d;border-color:#77d39a}
.st-opt.st-wrong{background:#5a2a2a;border-color:#ef8a7c}
.st-why{color:#efd5b3;font-size:.92rem;margin:12px 0}
.st-play{text-align:center}.st-play .st-btn{margin:2px auto 0;display:block}
.st-res{font-weight:900;color:#ffd68b;margin:0}
.st-foot{text-align:center;margin-top:18px}
.st-donecard{text-align:center;background:linear-gradient(180deg,#3b2615,#2a1b15);border:1px solid #f3be5a;border-radius:22px;padding:18px 14px;margin:8px 0}
.st-donecard h2{font-family:Georgia,serif;margin:4px 0;color:#fff6e7}
.st-donecard .st-btn{margin:6px 4px}
.st-tease{color:#efd5b3;font-size:.92rem}
/* verdict */
.st-verdict{text-align:center}
.st-vcard{position:relative;margin:8px auto 10px;width:min(300px,80vw);aspect-ratio:3/4;border-radius:26px;background:linear-gradient(160deg,var(--st-c1),var(--st-c2));overflow:hidden;border:2px solid #f3be5a;box-shadow:0 18px 40px #000a}
.st-vcard img{width:100%;height:100%;object-fit:cover;object-position:top}
.st-vscore{position:absolute;right:12px;bottom:12px;background:#1b110de6;color:#ffd68b;border:2px solid #f3be5a;border-radius:20px;padding:6px 14px;font:900 2.4rem/1 Georgia,serif}
.st-vscore small{font-size:1rem;color:#efd5b3}
.st-vline{font-family:Georgia,serif;font-size:1.2rem;line-height:1.4;color:#fff1da;margin:6px 6px 10px}
.st-vcb{color:#e6c9a6;font-size:.95rem;font-style:italic;margin:4px 8px}
.st-reward{margin:14px auto;max-width:420px}.st-reward .st-keep{display:flex;gap:10px;align-items:center;text-align:left;padding:10px 14px}
.st-reward p{color:#ffd68b;font-weight:900}
.st-vactions{justify-content:center;display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.st-next-season{background:#241712;border:1px solid #7a5238;border-radius:20px;padding:14px;margin-top:16px}
.st-next-season p{color:#efd5b3;line-height:1.45}
/* home card + in-game strip */
.st-homecard{position:relative;margin:16px 0;padding:18px 16px;border-radius:24px;background:radial-gradient(circle at 85% 10%,#ffcf6a33,transparent 45%),linear-gradient(150deg,var(--st-c1,#7b2d26),var(--st-c2,#2b160f));border:1px solid #f3be5a88;box-shadow:0 14px 34px #0008;color:#fff3df;overflow:hidden}
.st-homecard h2{font-family:Georgia,serif;font-size:1.6rem;margin:4px 0 6px}
.st-homecard p{margin:0 0 12px;line-height:1.45;color:#ffe9c9;max-width:78%}
.st-hc-faces{position:absolute;right:-8px;top:12px;display:flex;flex-direction:column;gap:0}
.st-hc-faces img{width:50px;height:50px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid #f3be5a;margin-top:-10px;background:#3b261b;box-shadow:0 4px 10px #0007}
.st-hc-actions{display:flex;gap:8px;flex-wrap:wrap}
.st-strip{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#2f2213;border:1px solid #f3be5a;border-radius:14px;padding:8px 12px;margin:8px auto;max-width:1010px;color:#ffe9c9;font-size:.88rem}
.st-strip-done{background:linear-gradient(90deg,#3e2914,#2f2213);font-weight:800;position:sticky;top:6px;z-index:20;box-shadow:0 8px 24px #0009}
@media (max-width:420px){.st-season{grid-template-columns:96px 1fr}.st-shero{grid-template-columns:92px 1fr}.st-shero img{width:92px;height:140px}.st-album{grid-template-columns:repeat(2,1fr)}.st-soonrow{grid-template-columns:repeat(3,1fr)}}
@media (prefers-reduced-motion:reduce){.st-new{animation:none}}
/* v1.20 · knockout + fireworks */
.st-fx{position:relative;border-radius:22px;overflow:hidden;margin:10px 0;padding:22px 14px 18px;text-align:center;border:1px solid #f3be5a88;box-shadow:0 16px 36px #000a}
.st-night{background:radial-gradient(circle at 50% 120%,#3a2346 0%,#140c22 55%,#07050d 100%)}
.st-stars{position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 12% 20%,#fff9,transparent),radial-gradient(1px 1px at 30% 60%,#fff8,transparent),radial-gradient(1.5px 1.5px at 72% 30%,#fffa,transparent),radial-gradient(1px 1px at 88% 70%,#fff7,transparent),radial-gradient(1px 1px at 55% 12%,#fff9,transparent);pointer-events:none}
.st-fxtext{position:relative;font-family:Georgia,serif;font-size:1.25rem;color:#ffe9c9;margin:6px 0 4px}
.st-banger{position:relative;font-size:3.4rem;animation:stFizz .5s ease-in-out infinite alternate;margin:8px 0 14px}
@keyframes stFizz{from{transform:rotate(-8deg) scale(1)}to{transform:rotate(8deg) scale(1.06)}}
.st-boom{position:relative;font:900 clamp(2rem,10vw,3rem)/1 Georgia,serif;color:#ffd36a;text-shadow:0 0 18px #ff8a3c,0 0 40px #ff5a2a;animation:stBoom .6s cubic-bezier(.2,1.6,.4,1) both;margin:6px 0 14px}
@keyframes stBoom{0%{transform:scale(.2);opacity:0}60%{transform:scale(1.25);opacity:1}100%{transform:scale(1)}}
.st-boomed::after{content:'';position:absolute;inset:0;background:#fff;animation:stFlash .5s ease-out forwards;pointer-events:none}
@keyframes stFlash{from{opacity:.9}to{opacity:0}}
.st-fxfaces{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:6px 0 14px}
.st-fxfaces img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid #f3be5a;background:#3b261b;animation:stPopIn .45s cubic-bezier(.2,1.6,.4,1) both;animation-delay:var(--d,0ms)}
@keyframes stPopIn{from{transform:translateY(16px) scale(.3);opacity:0}to{transform:none;opacity:1}}
.st-fwwrap{padding:0 0 16px}
.st-fw{display:block;width:100%;height:340px;touch-action:manipulation;cursor:pointer}
.st-fwtext{position:absolute;top:18px;left:0;right:0;font:900 clamp(1.5rem,7vw,2.2rem)/1.1 Georgia,serif;color:#fff3d6;text-shadow:0 0 16px #ffb84d;pointer-events:none}
.st-fwfaces{margin-top:-58px}
.st-fwhint{position:relative;color:#d9c3f0;font-size:.85rem;margin:0 0 10px}
body.st-shake .page{animation:stShake .6s cubic-bezier(.36,.07,.19,.97) both}
@keyframes stShake{10%,90%{transform:translate(-2px,1px)}20%,80%{transform:translate(4px,-2px)}30%,50%,70%{transform:translate(-8px,3px)}40%,60%{transform:translate(8px,-3px)}}
@media (prefers-reduced-motion:reduce){.st-banger,.st-boom,.st-fxfaces img{animation:none}body.st-shake .page{animation:none}}
/* v1.20 · voice notes, countdown, who said it */
.st-vn{display:flex;gap:10px;align-items:flex-start;background:#2b1c16;border:1px solid #c79a4f;border-radius:20px;padding:12px;margin:10px 0}
.st-vnbody{flex:1;min-width:0}
.st-vnbody b{display:block;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:#ffd68b;margin-bottom:6px}
.st-wave{display:flex;align-items:center;gap:2px;height:30px;background:#fff4e0;border-radius:999px;padding:0 12px}
.st-wave i{display:block;width:3px;border-radius:3px;background:#a0522d;opacity:.55}
.st-vnplaying .st-wave i{opacity:1;animation:stWave .9s ease-in-out infinite alternate}
.st-wave i:nth-child(3n){animation-delay:.2s}.st-wave i:nth-child(4n){animation-delay:.45s}
@keyframes stWave{from{transform:scaleY(.4)}to{transform:scaleY(1.1)}}
.st-wave span{margin-left:auto;font-size:.78rem;font-weight:900;color:#5a2a06}
.st-vntext{margin:10px 2px 0;color:#fff0d7;line-height:1.5;font-size:.98rem;min-height:1.5em}
.st-clock{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;background:#3a1d14;border:1px solid #ef8a5c;border-radius:14px;padding:8px 12px;margin-bottom:10px}
.st-clock span{font-size:.86rem;color:#ffd9c2;font-weight:700}
.st-clocknum{font:900 1.6rem/1 Georgia,serif;color:#ffb36a;min-width:1.6em;text-align:right}
.st-clockbar{grid-column:1/-1;height:6px;border-radius:6px;background:#1a0d09;overflow:hidden}
.st-clockbar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ef554a,#ffb36a);transition:width .25s linear}
.st-timed{border-color:#ef8a5c;animation:stPulse 1.2s ease-in-out infinite alternate}
@keyframes stPulse{from{box-shadow:0 12px 26px #0007}to{box-shadow:0 0 0 3px #ef8a5c55,0 12px 26px #0007}}
.st-whogrid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.st-whobtn{appearance:none;display:flex;align-items:center;gap:9px;border:1px solid #8a5f40;background:#3a271e;color:#fff1da;border-radius:14px;padding:8px 10px;font:inherit;font-weight:800;cursor:pointer;text-align:left}
.st-whobtn img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid #f3be5a;flex:none;background:#3b261b}
.st-whobtn:hover:not(:disabled){border-color:#f3be5a;background:#46301f}
.st-whobtn.st-right{background:#2e5a3d;border-color:#77d39a}.st-whobtn.st-wrong{background:#5a2a2a;border-color:#ef8a7c}
.st-who p{font-style:italic}
@media (prefers-reduced-motion:reduce){.st-timed,.st-vnplaying .st-wave i{animation:none}}
