/* Static SEO pages (set, category, A–Z index). Builds on style.css tokens. */
.set{max-width:1280px;margin:0 auto;padding:clamp(20px,4vw,48px) clamp(16px,4vw,48px)}
.set h1{font-size:clamp(30px,4.2vw,54px);line-height:1.05;letter-spacing:-.02em;margin:10px 0 12px}
.set h2{font-size:20px;margin:40px 0 14px;letter-spacing:-.01em}
.set .lede{color:var(--dim);max-width:72ch;line-height:1.6;margin:0 0 22px}
.crumbs a,.az a,.set h2 a{color:inherit;text-decoration:none}
.crumbs a:hover,.az a:hover,.set h2 a:hover{color:var(--acc)}
.set .view-body{padding:0}
.set .view-body img{display:block;width:100%;height:auto;border:1px solid var(--line2)}
.set .view-body figure{margin:0}
.set .view-dl{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border:1px solid var(--line);margin:24px 0}
.facts div{padding:12px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts dt{font:11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:6px}
.facts dd{margin:0;line-height:1.45}
.facts a{color:var(--acc);text-decoration:none}
.set .how{padding:0;border:0;max-width:72ch}
.set .how p{color:var(--dim);line-height:1.6}
.set .view-nav{display:flex;justify-content:space-between;gap:10px;margin-top:24px}
.set .grid{padding:0}
a.card{color:inherit;text-decoration:none;display:block}
.az{list-style:none;padding:0;margin:0 0 8px;columns:4 200px;column-gap:24px}
.az li{padding:4px 0;break-inside:avoid;color:var(--dim);font-size:14px}
.index{max-width:1280px;margin:0 auto;padding:24px clamp(16px,4vw,48px) 48px;border-top:1px solid var(--line)}
.index h3{font-size:15px;margin:22px 0 8px}
.index h3 a{color:var(--ink);text-decoration:none}
.foot a{color:inherit}
@media (max-width:700px){.set .view-nav{flex-direction:column}.set .view-nav .btn{text-align:center}
  .set .view-body{display:flex;flex-direction:column;gap:22px}
  .set .v-lock{width:72%;margin:0 auto!important}
  .facts{grid-template-columns:1fr}}
.set figcaption{margin-top:8px}
.set .view-body figure{margin-bottom:6px}

.purchase{margin:4px 0 8px}
.purchase .view-dl{padding:0}
.view-dl form{flex:1 1 220px;display:flex;margin:0}
.view-dl form .btn{width:100%;cursor:pointer;font:inherit}
.view-dl .btn.primary small{color:#05213a}
.view-dl .btn.ghost{flex:0 0 auto;background:transparent}
.purchase .micro.buy{margin:10px 0 0;color:var(--dim)}
.ok{border:1px solid var(--acc2);color:var(--acc2);padding:10px 14px;margin:0 0 12px}
.msg{border:1px solid var(--line2);color:var(--ink);padding:10px 14px;margin:0 0 12px}
#access-note a{word-break:break-all}
.pricing .step.best{border-color:var(--acc)}
.pricing .step form{margin-top:14px}
.pricing .step .btn{width:100%;cursor:pointer;font:inherit}
.owned-all{color:var(--acc2);margin-top:14px}
.set .purchase{margin:18px 0 22px}
@media (max-width:700px){.purchase .view-dl{flex-direction:column}.view-dl form{flex:1 1 auto}}
.view-dl form .btn{flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px 16px}
.view-dl form .btn small{display:block;font-size:12px}
.view-dl form .btn:not(.primary){border-color:#4a5d7a}
.view-dl form .btn:not(.primary) small{color:#c3cfde}
.purchase .micro.buy{color:#b9c4d4}
.view-dl form .btn,.pricing .step .btn{font-family:var(--sans);font-weight:700;letter-spacing:.06em}
.view-dl form .btn small,.pricing .step .btn small{font-weight:400;letter-spacing:.02em}
.view-dl .btn .px{white-space:nowrap}
.view-dl .btn .px i{font-style:normal}
@media (max-width:359px){.view-dl .btn .px{display:block}.view-dl .btn .px i{display:none}}
.crumbs>*{white-space:nowrap}
.crumbs [aria-current]{color:var(--ink)}

/* ownership UX */
.nav a.mine{color:var(--acc2);border:1px solid var(--acc2);padding:7px 10px;display:inline-block!important}
.nav a.restore-l{color:var(--dim)}
.access-note{border:1px solid var(--line2);background:rgba(11,15,21,.8);padding:14px 16px;margin:14px 0 0}
.access-note p{margin:0 0 12px;font-size:15px}
.acc-row{display:flex;flex-wrap:wrap;gap:10px}
.acc-row .btn{flex:0 1 auto}
.ok a{color:inherit;text-decoration:underline}
.purchase .micro.buy a{color:var(--acc);white-space:nowrap}
.dls .btn{font-family:var(--sans);font-weight:700;letter-spacing:.06em;padding:16px 18px}
.dls .btn.primary small{color:#05213a}
.library h1{margin-bottom:6px}
#lib-q{width:100%;max-width:420px;margin:18px 0 0;padding:12px;background:var(--panel);border:1px solid var(--line2);color:var(--ink);font:15px/1.2 var(--sans)}
.lib-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:18px 0}
.lib-item{border:1px solid var(--line2);background:var(--panel);display:flex;flex-direction:column}
.lib-pic img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.lib-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 12px 0}
.lib-meta a{font-weight:700;color:var(--ink)}
.lib-dl{display:flex;gap:8px;padding:10px 12px 12px}
.lib-dl .btn{flex:1;flex-direction:column;align-items:flex-start;gap:4px;padding:11px 12px;font-family:var(--sans);font-weight:700;letter-spacing:.04em}
.lib-dl .btn small{font-weight:400;font-size:11px;letter-spacing:.02em;text-transform:none;color:var(--dim)}
.lib-dl .btn.primary small{color:#05213a}
#lib-more{margin:0 0 30px}
.restore-box{border-top:1px solid var(--line2);margin-top:30px;padding-top:24px;max-width:640px}
.restore-box h2{margin:0 0 6px}
#restore{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:14px 0}
#restore label{display:flex;flex-direction:column;gap:6px;flex:1 1 240px}
#restore label.l4{flex:0 0 120px}
#restore input{padding:12px;background:var(--panel);border:1px solid var(--line2);color:var(--ink);font:16px/1.2 var(--sans);width:100%}
#restore input:focus{outline:none;border-color:var(--acc)}
#restore .btn{padding:13px 22px;font-family:var(--sans);font-weight:700}
@media (max-width:700px){.dls .btn{width:100%}.acc-row .btn{flex:1 1 100%}#restore label.l4{flex:1 1 120px}#restore .btn{flex:1 1 100%}}

/* v10: compact download buttons, header-safe scrolling */
#unlocked,#unlock,.access-note,#restore-box,.dls{scroll-margin-top:84px}
.purchase .dls{flex-direction:row}
.purchase .dls .btn{flex:1 1 240px;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;min-height:64px;justify-content:center}
.purchase .dls .btn small{display:block;font-size:12px;letter-spacing:.02em;text-transform:none;font-weight:400}
.purchase .dls .btn:not(.primary){border-color:#4a5d7a}
.purchase .dls .btn:not(.primary) small{color:#c3cfde}
.btn.primary small,.lib-dl .btn.primary small,.dls .btn.primary small{color:#04182b!important;opacity:.85}
.acc-row .btn{min-height:44px}
.nav a.mine{min-height:36px;display:inline-flex!important;align-items:center}
#lib-more{width:100%;min-height:48px}
.lib-dl .btn{min-height:52px}
.access-note b{color:var(--ink)}
.library .access-note{margin-top:8px}
@media (max-width:700px){.purchase .dls{flex-direction:column}.purchase .dls .btn{flex:0 0 auto;width:100%}}

/* v11 */
.btn.primary small,.lib-dl .btn.primary small,.dls .btn.primary small{color:#021222!important;opacity:1}
.lib-dl .btn small{color:#c3cfde}
.nav a.mine[aria-current]{background:rgba(43,255,198,.12)}
.top{background:rgba(5,7,10,.97)}

/* v12 · set page: art first on phones, art beside buy box on wide screens */
.crumbs a{display:inline-block;padding:8px 0}
.set-hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"h1" "art" "buy" "lede";gap:14px 36px;align-items:start}
.set-hero h1{grid-area:h1;margin:4px 0 0}
.set-art{grid-area:art;min-width:0;container-type:inline-size}
.set-hero .purchase{grid-area:buy;margin:0}
.set-hero .lede{grid-area:lede;margin:0}
.set .set-art .view-body{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-start;gap:12px;padding:0;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;
  --H:min(calc((100cqw - 14px) / 2.11),calc(100vh - 190px))}
.set .set-art .view-body::-webkit-scrollbar{display:none}
.set .set-art figure{flex:none;margin:0;scroll-snap-align:start;min-width:0}
.set .set-art .v-lock{width:auto!important;max-width:none;margin:0!important}
.set .set-art img{height:var(--H);width:auto;max-width:none}
.set .set-art .solo img{max-width:100cqw;height:auto;max-height:calc(100vh - 190px)}
.swipe-hint{display:none;margin:8px 0 0;color:var(--dim)}
@media (min-width:861px){
  .set-hero{grid-template-columns:minmax(0,2.3fr) minmax(260px,1fr);grid-template-areas:"art h1" "art buy" "art lede";grid-template-rows:auto auto 1fr}
  .set-hero .view-dl form,.set-hero .dls .btn{flex:1 1 100%}
}
@media (max-width:699px){
  .set{padding-top:6px}
  .set h1{font-size:clamp(28px,8vw,40px)}
  .set .set-art .view-body{--H:min(calc(100cqw * .9 / 1.4217),calc(100vh - 330px))}
  .swipe-hint{display:block}
  .set-hero .purchase .view-dl.buy{flex-direction:row}
  .set-hero .purchase .view-dl.buy form{flex:1 1 140px}
  .set-hero .purchase .view-dl.buy form .btn{padding:12px}
}
.lib-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
@media (min-width:500px) and (max-width:699px){
  .set .set-art .view-body{--H:calc((100cqw - 14px) / 2.11)}
  .swipe-hint{display:none}
}
.set .set-art figure,.view-body figure{width:min-content}
.set .set-art figcaption,.view-body figcaption{overflow-wrap:anywhere}
.set .set-art .solo figure{width:auto}
.set .set-art figcaption,.view-body figcaption{width:0;min-width:100%;overflow-wrap:normal}
/* v13 · About / FAQ / Privacy / Terms */
.doc{max-width:780px}
.doc h2{font-size:20px;margin:28px 0 8px}
.doc p{line-height:1.6;color:var(--dim,#9fb0c0)}
.doc .lede{color:inherit}
.doc details{border-top:1px solid var(--line2,#1c2530);padding:14px 0}
.doc details:last-of-type{border-bottom:1px solid var(--line2,#1c2530)}
.doc summary{cursor:pointer;font-weight:700;list-style:none;padding:6px 0;min-height:32px}
.doc summary::-webkit-details-marker{display:none}
.doc summary::after{content:"+";float:right;color:var(--acc,#5ab4ff);font-family:var(--mono,monospace)}
.doc details[open] summary::after{content:"−"}
.doc details p{margin:8px 0 0}
.doc a{color:var(--acc,#5ab4ff)}
.foot a{white-space:nowrap}
/* guides */
.doc table.sizes{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px}
.doc table.sizes th,.doc table.sizes td{white-space:nowrap;border:1px solid var(--line2,#1c2530);padding:8px 10px;text-align:left}
.doc table.sizes th{font-family:var(--mono,monospace);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim,#9fb0c0)}
.doc ol{line-height:1.7;color:var(--dim,#9fb0c0);padding-left:22px}
.guide .grid{margin-top:12px}
.set .note a{color:var(--acc,#5ab4ff)}
@media (max-width:600px){.doc table.sizes{font-size:12px}.doc table.sizes th,.doc table.sizes td{padding:6px}}
.doc table.sizes td:first-child{white-space:normal}.guide h1+p.micro{margin-bottom:14px}.doc .tw{overflow-x:auto}
