/* ===== v4 layer: multi-page polish, Store page, Updates and Events pages (loads after v3.css) ===== */
:root{--pink2:#ff9bd6;--ok:#3ddc84;--tier-player:#7e97a5;--tier-kitten:#ff6fc0;--tier-burmese:#4fd8d0;--tier-siamese:#ffc233}

/* small shared bits */
.eyebrow{display:inline-block;font:600 .85rem/1 Jost,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--pri2);margin-bottom:12px}
.crumbs{font-size:.92rem;color:var(--mu);margin:0 0 12px}
.crumbs a{color:var(--pri2);text-decoration:none}.crumbs a:hover{text-decoration:underline}
.crumbs span{margin:0 6px;opacity:.6}
.facts{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px;padding:0;list-style:none}
.facts li{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:99px;background:#ffffff0f;border:1px solid #ffffff22;font-size:.92rem;color:#e5eef3}
.facts li:before{content:"✓";color:var(--ok);font-weight:700}
.head-row{display:flex;justify-content:space-between;align-items:end;gap:14px 30px;flex-wrap:wrap;margin-bottom:26px}
.head-row .sub{margin:0}.head-row .t{margin-bottom:8px}
.morelink{font-weight:600;text-decoration:none;white-space:nowrap}.morelink:hover{text-decoration:underline}
.morelink:after{content:" →"}

/* inner-page hero: a little tighter, same look */
.hero.small{min-height:0;padding:68px 0 60px}
.hero.small h1{font-size:clamp(2.6rem,6vw,4.4rem)}
.hero.small .bigcat{width:min(230px,100%)}
@media(max-width:860px){.hero.small{padding:44px 0 40px}}

/* nav: Store button stays visible, cart button shows count */
#cartBtn{position:relative}
.links a.act{color:var(--pri2)}
@media(min-width:1201px) and (max-width:1320px){.links{gap:12px;font-size:.9rem}}

/* ----- latest updates on home (no clipped rows) ----- */
.log.tall{max-height:none;overflow:visible}
.log p{margin:2px 0 0;color:var(--mu);font-size:.95rem}
.log .more{display:block;padding-top:14px;font-weight:600;text-decoration:none;border:0}
.log .more:hover{text-decoration:underline}
.log .more:before{display:none}

/* ----- rank cards (home teaser + store page) ----- */
.ranks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.rank{position:relative;display:flex;flex-direction:column;gap:14px;padding:24px 22px 22px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.2s}
.rank:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--tier,var(--pri))}
.rank:hover{transform:translateY(-4px);border-color:var(--tier,var(--pri));box-shadow:0 18px 40px -22px var(--tier,var(--pri))}
.rank[data-rank=player]{--tier:var(--tier-player);border-style:dashed}
.rank[data-rank=catplus]{--tier:var(--tier-kitten)}
.rank[data-rank=burmese]{--tier:var(--tier-burmese)}
.rank[data-rank=siamese]{--tier:var(--tier-siamese)}
.rank h3{font-size:1.55rem;color:var(--tier)}
.rank .rp{font:600 1.1rem Fredoka,sans-serif;color:var(--gold);min-height:1.5em;line-height:1.3}
.rank .rp small{display:block;font:400 .8rem Jost,sans-serif;color:var(--mu)}
.rank .rp.free{color:var(--mu)}
.rank ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;flex:1}
.rank li{display:flex;gap:10px;color:#e1ecf1;font-size:.98rem;line-height:1.4}
.rank li:before{content:"✓";color:var(--ok);font-weight:700;flex:none}
.rank li.no{color:var(--mu);text-decoration:line-through;text-decoration-color:#9fb6c366}
.rank li.no:before{content:"–";color:var(--mu)}
.rank .mc{width:100%}
.rank .mc[hidden]{display:none}
@media(max-width:1000px){.ranks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.ranks{grid-template-columns:1fr}}

/* ----- store page ----- */
.shopbar{display:flex;gap:12px 16px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:0 0 22px}
.shopbar .tabs{margin:0;justify-content:flex-start}
.shopctl{display:flex;gap:10px;flex:0 1 460px;min-width:0;flex-wrap:wrap}
.shopctl .lb-search{flex:1 1 200px;margin:0}
.shopctl select{font:inherit;background:#01111a;color:#fff;border:2px solid var(--line);border-radius:12px;padding:9px 12px;min-height:46px;flex:0 1 190px;max-width:100%}
.shopctl select:focus{border-color:var(--pri);outline:none}
#shop{scroll-margin-top:96px;min-height:260px}
.tip.hl{animation:hl 2s ease-out}
@keyframes hl{0%,55%{box-shadow:0 0 0 3px var(--gold),0 0 40px -6px var(--gold)}100%{box-shadow:0 0 0 0 transparent}}
.nores{grid-column:1/-1;text-align:center;padding:30px;color:var(--mu)}
.how3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.how3 .step{background:var(--card);border-color:var(--line)}
@media(max-width:860px){.how3{grid-template-columns:1fr}}
.helpers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.helper{display:flex;flex-direction:column;gap:6px;padding:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);color:#fff;text-decoration:none;transition:.2s}
.helper:hover{border-color:var(--pri);transform:translateY(-3px)}
.helper .ico{margin-bottom:8px}
.helper h4{font-size:1.25rem}.helper p{margin:0;color:var(--mu)}
.helper b{margin-top:6px;color:var(--pri2)}
@media(max-width:860px){.helpers{grid-template-columns:1fr}}
.storefaq{max-width:860px;margin:0 auto}
.paynote{margin:22px auto 0;max-width:820px}

/* ----- home teasers ----- */
.evrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.evc{display:flex;flex-direction:column;gap:6px;padding:20px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);transition:.2s}
.evc:hover{border-color:var(--pink);transform:translateY(-3px)}
.evc time{color:var(--pink2);font-weight:600;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase}
.evc h4{font-size:1.25rem}.evc p{margin:0;color:var(--mu)}
@media(max-width:860px){.evrow{grid-template-columns:1fr}}
.band{background:radial-gradient(60% 90% at 10% 0%,#ff6fc01a,transparent 70%),radial-gradient(60% 90% at 100% 100%,#4fd8d01f,transparent 70%),var(--bg2)}
.band .actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:30px}

/* ----- updates page ----- */
.tl{max-width:860px;margin:0 auto}
.tl h3.mo{font-size:1.45rem;color:var(--pri2);margin:38px 0 14px;display:flex;align-items:center;gap:14px}
.tl h3.mo:after{content:"";height:1px;flex:1;background:var(--line)}
.tl h3.mo:first-child{margin-top:0}
.tli{display:grid;grid-template-columns:78px minmax(0,1fr);gap:4px 18px;padding:16px 20px;margin-bottom:10px;background:var(--card);border:1px solid var(--line);border-radius:14px;transition:.15s}
.tli:hover{border-color:#2a5c75}
.tli time{color:var(--pri2);font-weight:600;padding-top:2px}
.tli h4{font-size:1.15rem;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tli p{margin:4px 0 0;color:#cfdde5}
.tg{font:600 .72rem/1 Jost,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:99px;border:1px solid;white-space:nowrap}
.tg.t-event{color:var(--pink2);background:#ff6fc014;border-color:#ff6fc055}
.tg.t-server{color:var(--pri2);background:#4fd8d014;border-color:#4fd8d055}
.tg.t-pvp{color:#ff9b8a;background:#ff6b5214;border-color:#ff6b5255}
.tg.t-store{color:var(--gold);background:#ffc23314;border-color:#ffc23355}
.tg.t-fix{color:#b9cad4;background:#ffffff0d;border-color:#ffffff33}
@media(max-width:560px){.tli{grid-template-columns:1fr;padding:14px 16px}.tli time{padding:0}}
.empty{text-align:center;color:var(--mu);padding:30px}

/* ----- events page ----- */
.how4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.how4 .panel{padding:22px}
.how4 h4{font-size:1.2rem;margin:10px 0 6px}.how4 p{margin:0;color:var(--mu)}
.how4 .ico{width:46px;height:46px}.how4 .ico .i{width:23px;height:23px}
.how4 code,.cmd{background:#031722;border:1px solid var(--line);border-radius:6px;padding:1px 7px;color:var(--gold);font:600 .92em ui-monospace,SFMono-Regular,Menlo,monospace}
@media(max-width:1000px){.how4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.how4{grid-template-columns:1fr}}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
@media(max-width:860px){.two-col{grid-template-columns:1fr;gap:30px}}
.chipset{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;padding:0;list-style:none}
.chipset li{padding:7px 16px;border-radius:99px;background:#ffc2331a;border:1px solid #ffc23355;color:#ffe29a;font-weight:600;font-size:.95rem}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.vc{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;color:#fff;text-decoration:none;transition:.2s}
.vc:hover{border-color:var(--pri);transform:translateY(-4px);box-shadow:var(--glow)}
.vc .th{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#0b2c3b,#031722);overflow:hidden}
.vc .th img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.vc:hover .th img{transform:scale(1.05)}
.vc .th:after{content:"";position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:#01111acc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.500 7.500v9l7.500-4.500z' fill='%237be8e1'/%3E%3C/svg%3E") center/30px no-repeat;border:2px solid #ffffff55;transition:.2s}
.vc:hover .th:after{background-color:var(--pri)}
.vc .vi{padding:14px 16px 16px}
.vc h4{font:600 1.05rem/1.3 Fredoka,sans-serif}
.vc small{display:block;color:var(--mu);margin-top:4px}
.tiers{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.tiers li{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;padding:16px 18px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.tiers b{font:600 1.5rem Fredoka,sans-serif;color:var(--pri2);grid-row:1/3;min-width:72px;line-height:1.1;align-self:center}
.tiers strong{font-family:Fredoka,sans-serif;font-weight:600}
.tiers span{color:var(--mu);font-size:.95rem}
.polls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.poll{padding:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.poll h4{font-size:1.15rem;margin-bottom:12px}
.poll .pbar{height:10px;border-radius:99px;background:#031722;overflow:hidden;margin-bottom:8px}
.poll .pbar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--pri),var(--pink))}
.poll .pv{font-size:.9rem;color:var(--mu);margin-bottom:12px}
.poll p{margin:0;color:#d4e1e8;font-size:.97rem}
.poll p b{color:var(--ok)}
@media(max-width:1000px){.polls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.polls{grid-template-columns:1fr}}
.bignum{display:flex;gap:16px 28px;align-items:center;flex-wrap:wrap;padding:20px 24px;margin-bottom:22px}
.bignum b{font:600 2.6rem/1 Fredoka,sans-serif;color:var(--pri2)}
.bignum span{color:var(--mu);flex:1 1 240px}

/* ----- footer: five links wide enough ----- */
.ft-col a{line-height:1.3}

/* ----- misc polish ----- */
section[id]{scroll-margin-top:72px}
.mc:focus-visible,.rank:focus-within{outline:3px solid var(--gold);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.tip.hl{animation:none}}
.tip[hidden],.shop .nores[hidden]{display:none}

.pop{position:absolute;top:12px;right:12px;z-index:2;background:var(--gold);color:#1a1200;font:600 .72rem/1 Jost,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:99px;box-shadow:0 4px 14px #0008}
.tip{position:relative}
#tabs [hidden]{display:none}
.rank[data-rank=catplus]{--tier:var(--tier-kitten)}
.rank[data-rank=burmese]{box-shadow:0 0 0 1px var(--tier-burmese),0 18px 40px -26px var(--tier-burmese)}

/* ----- rank cards, take 2: image-led, less template-y ----- */
.head-row .t{margin-bottom:6px}
.rank.rk2{cursor:pointer;padding:14px 14px 16px;gap:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--tier) 16%,var(--card)),var(--card) 60%);border-color:color-mix(in srgb,var(--tier) 35%,var(--line))}
.rank.rk2:before{display:none}
.rank.rk2:hover{transform:translateY(-3px);box-shadow:0 16px 34px -20px var(--tier)}
.rank.rk2 h3{font-size:1.45rem;color:#fff;margin-top:2px}
.rimg{aspect-ratio:16/10;border-radius:12px;background:#031722;display:grid;place-items:center;overflow:hidden}
.rimg img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.rimg img.ph{width:46%;height:auto;opacity:.5;image-rendering:auto}
.rank.rk2 .rp{min-height:1.4em;font-size:1.25rem}
.rhead{margin:0;color:var(--mu);font-size:.95rem;flex:1}
.racts{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}
.rmore{color:var(--pri2);font-weight:600;font-size:.92rem;text-decoration:underline;text-underline-offset:3px}
.racts .mc{width:auto;padding:9px 16px}
.rank.rk2 .pop{top:22px;right:22px}
.cmp{margin-top:22px}
.cmp summary{font-size:1.05rem}
.cmp .sc{padding:0 10px 10px}
.cmp th,.cmp td{padding:11px 14px}
.cmp td:not(:first-child),.cmp th:not(:first-child){text-align:center}
.rdlg{width:min(640px,calc(100vw - 32px));background:var(--card);color:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:0 20px 60px #000b}
.rdlg::backdrop{background:#000b}
.rdlg .dlg-h h2{font-size:1.8rem}
.rdbody{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:start}
.rdperks{list-style:none;margin:10px 0 12px;padding:0;display:grid;gap:7px}
.rdperks li{display:flex;gap:10px}.rdperks li:before{content:"✓";color:var(--ok);font-weight:700}
.rdperks li.no{color:var(--mu);text-decoration:line-through}.rdperks li.no:before{content:"–";color:var(--mu)}
.rddesc{color:var(--mu);font-size:.95rem;margin:0 0 14px}
.rdlg .rp{font:600 1.4rem Fredoka,sans-serif;color:var(--gold)}.rdlg .rp small{display:block;font:400 .8rem Jost,sans-serif;color:var(--mu)}
@media(max-width:560px){.rdbody{grid-template-columns:1fr}}

.racts{flex-wrap:wrap}.racts .mc{flex:1 1 auto}.rmore{white-space:nowrap}
.ft-contact{flex:1 1 100%;color:#cfdde5}.ft-contact a{color:var(--pri2);font-weight:600}
